Получение NoClassDefFound для com/pi4j/io/i2c/I2CFactory

Я знаю, что этот вопрос уже задавался, но я безуспешно пробовал решения, приведенные в других темах.

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, показанной здесь (curl -s get.pi4j.com | sudo bash), затем попытался добавить классы в classpath с помощью команды, показанной на этот сайт: (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);
    }
}

1 ответ

Почему вы используете подстановочный знак для этого вызова? Кажется, что путь к классу неправильный и должен быть что-то вроде:

sudo java -classpath .:classes:/opt/pi4j/lib/:. -jar DashPi-1.0-SNAPSHOT.jar
Другие вопросы по тегам