Получение 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