![](/img/trans.png)
[英]maven build is failing due to dependency package does not exist while dependency package actually exists
[英]Simple gradle build failing due to `package ... does not exist`
一个使用外部库的简单初学者项目,由于我在这里缺少一些基本的东西,我无法构建它。 谢谢你的帮助。
构建.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")
}
不推荐使用
compile
配置。 有关更多信息,请参阅此内容。
这应该足以修复您的进口。
我看到您也在重新声明 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"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.