首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取com/pi4j/io/i2c/I2CFacary的NoClassDefFound

获取com/pi4j/io/i2c/I2CFacary的NoClassDefFound
EN

Stack Overflow用户
提问于 2017-03-21 01:50:57
回答 1查看 90关注 0票数 0

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

代码语言:javascript
复制
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依赖项,并运行显示为here (curl -s get.pi4j.com | sudo bash)的curl statemet,然后尝试使用该站点上显示的命令将类添加到类路径中:(sudo java -classpath :/opt/pi4j/lib/‘*’...)在我的例子中:

代码语言:javascript
复制
sudo java -classpath .:classes:/opt/pi4j/lib/'*':. -jar DashPi-1.0-SNAPSHOT.jar

但它仍然会给我这个错误,我不知道哪里出了问题。

可能发生这种情况是因为pi4j已安装在

代码语言:javascript
复制
/opt/pi4j

我的罐子在

代码语言:javascript
复制
/home/pi

任何帮助都将不胜感激!

代码如下所示:

代码语言:javascript
复制
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);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-03-30 21:36:08

为什么要在该呼叫中使用通配符?看起来类路径是错误的,应该是这样的:

代码语言:javascript
复制
sudo java -classpath .:classes:/opt/pi4j/lib/:. -jar DashPi-1.0-SNAPSHOT.jar
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42910582

复制
相关文章

相似问题

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