首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的子程序生成失败,因为‘包.不存在

简单的子程序生成失败,因为‘包.不存在
EN

Stack Overflow用户
提问于 2020-01-11 23:17:39
回答 1查看 2.7K关注 0票数 0

一个使用外部图书馆的简单的初学者项目,由于缺少一些基本的东西,我无法构建这个项目。谢谢你的帮助。

build.gradle

代码语言:javascript
复制
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中,我有导入语句:

代码语言:javascript
复制
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上都失败了

代码语言:javascript
复制
: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。爱德是活力和巴什。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-12 00:22:48

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

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

因为没有发布的JAR工件,所以您的类路径上没有任何东西。您需要做的是声明所需的依赖关系:

基于您的导入,您将希望使用pi4j-core包。因此,将其声明为依赖项:

代码语言:javascript
复制
dependencies {
    // This dependency is used by the application.
    implementation("com.pi4j:pi4j-core:1.2")
}

不建议使用compile配置。有关详细信息,请参阅

这应该足以解决你的进口问题。

我看到您还在重新声明Java源代码集。这是不必要的,因为java插件已经不适合你了。建议您熟悉Gradle:started.html

一个完整的例子:

代码语言:javascript
复制
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"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59699529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档