0

我知道以前有人问过这个问题,但我尝试了其他线程中给出的解决方案,但没有成功。

Exception in thread "main" java.lang.NoClassDefFoundError: com/pi4j/io/i2c
/I2CFactory at com.jksoft.rpi.dashpi.pishock.Sensor.setup(Sensor.java:32)

在我的 Windows 机器上,我使用 maven 获取 pi4j 依赖项,并运行此处显示的 curl statemet (curl -s get.pi4j.com | sudo bash),然后尝试使用显示的命令将类添加到类路径中该站点:(sudo java -classpath .:classes:/opt/pi4j/lib/'*' ...)就我而言:

sudo java -classpath .:classes:/opt/pi4j/lib/'*':. -jar DashPi-1.0-SNAPSHOT.jar

但它仍然给我那个错误,我不知道出了什么问题。

也许发生这种情况是因为 pi4j 已安装在

/opt/pi4j

我的罐子在

/home/pi

任何帮助,将不胜感激!

代码如下所示:

public Sensor(){
    this.setup();
}

private void setup(){
    try {
        this.bus = I2CFactory.getInstance(I2CBus.BUS_1);
        this.device = this.bus.getDevice(0x53);
    } catch (IOException ex) {
        Logger.getLogger(Sensor.class.getName()).log(Level.SEVERE, null, ex);
    }
}
4

1 回答 1

0

你为什么在那个调用中使用通配符?似乎类路径是错误的,应该是这样的:

sudo java -classpath .:classes:/opt/pi4j/lib/:. -jar DashPi-1.0-SNAPSHOT.jar
于 2017-03-30T13:36:08.273 回答