gpt4 book ai didi

java - 由于 `package ... does not exist`,简单的 gradle 构建失败

转载 作者:行者123 更新时间:2023-12-02 09:07:27 24 4
gpt4 key购买 nike

使用 external library 的简单初学者项目,由于我在这里缺少一些基本的东西,我无法构建。感谢您的帮助。

构建.gradle

plugins {
id 'java'
id 'maven'
}

repositories {
mavenCentral()
}

dependencies {
compile 'com.pi4j:pi4j-parent:1.2'
}

sourceSets {
main {
java {
srcDir 'src'
}
}
test {
java {
srcDir 'test'
}
}
}

./src/main/java/JavaMotor.java中我有导入语句:

import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

所有这些都在 gradle build 上失败:

:compileJava/home/pi/workspaces/javamotor/src/main/java/JavaMotor.java:1: error: package com.pi4j.io.gpio does not exist
import com.pi4j.io.gpio.GpioController;
^
/home/pi/workspaces/javamotor/src/main/java/JavaMotor.java:2: error: package com.pi4j.io.gpio does not exist
import com.pi4j.io.gpio.GpioFactory;
^
/home/pi/workspaces/javamotor/src/main/java/JavaMotor.java:3: error: package com.pi4j.io.gpio does not exist
import com.pi4j.io.gpio.GpioPinDigitalOutput;
^
/home/pi/workspaces/javamotor/src/main/java/JavaMotor.java:4: error: package com.pi4j.io.gpio does not exist
import com.pi4j.io.gpio.PinState;
^
/home/pi/workspaces/javamotor/src/main/java/JavaMotor.java:5: error: package com.pi4j.io.gpio does not exist
import com.pi4j.io.gpio.RaspiPin;
^
5 errors
FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.107 secs

我在 Ubuntu 上运行 Gradle 3.2.1。 IDE 是 vim 和 bash。

最佳答案

您声明的 com.pi4j:pi4j-parent 依赖项不是您期望的典型依赖项。它是 Pi4J 项目的父 Maven POM。

如果您查看此依赖项的内容,您可以看到没有已发布的 *.jar 工件:https://repo1.maven.org/maven2/com/pi4j/pi4j-parent/1.2/

由于没有发布的 JAR 工件,因此您的类路径上不会有任何内容。您需要做的是声明您需要的依赖项:

根据您的导入,您需要pi4j-core 打包。因此将其声明为依赖项:

dependencies {
// This dependency is used by the application.
implementation("com.pi4j:pi4j-core:1.2")
}

The compile configuration is deprecated. See this for more information.

这应该足以修复您的导入。

我发现您还重新声明了 Java 源集。这是没有必要的,因为 java 插件已经不适合您。建议您熟悉Gradle:https://docs.gradle.org/current/userguide/getting_started.html

完整示例:

plugins {
// Apply the application plugin to add support for building a CLI application.
// The application plugin implicitly applies the Java plugin
id("application")
}

repositories {
// Use central for resolving dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenCentral()
}

dependencies {
// This dependency is used by the application.
implementation("com.pi4j:pi4j-parent:1.2")
}

application {
// Define the main class for the application.
mainClassName = "io.mateo.MyApplication"
}

关于java - 由于 `package ... does not exist`,简单的 gradle 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59699529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com