У меня есть следующая ошибка:
$ sudo java -jar /home/fadedbee/tc65sh-1.4.0/bin/tc65sh.jar -Djava.library.path=/usr/lib/jni/ -cp /usr/share/java/RXTXcomm.jar -p / dev/ttyUSB0 -b 115200 -f push.txt
тс65ш v1.4.0
обработка командного файла push.txt
подключение /dev/ttyUSB0 со скоростью 115200 бод, flowControl r
Исключение в потоке "основной" java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier
на org.tc65sh.device.Device.connect(Device.java:56)
в org.tc65sh.Main.exec(Main.java:102)
на org.tc65sh.Main.main(Main.java:59)
Вызвано: java.lang.ClassNotFoundException: gnu.io.CommPortIdentifier
в java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
в java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
в java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... еще 3
Я установил libRXTX, и все файлы появляются в правильных местах:
$ ls -lA /usr/lib/jni/
всего 148
-rw-r--r-- 1 root root 22696 9 мая 2018 г. librxtxI2C-2.2pre1.so
lrwxrwxrwx 1 root root 21 9 мая 2018 г. librxtxI2C.so -> librxtxI2C-2.2pre1.so
-rw-r--r-- 1 root root 14424 9 мая 2018 г. librxtxParallel-2.2pre1.so
lrwxrwxrwx 1 root root 26 9 мая 2018 г. librxtxParallel.so -> librxtxParallel-2.2pre1.so
-rw-r--r-- 1 root root 22688 9 мая 2018 г. librxtxRaw-2.2pre1.so
lrwxrwxrwx 1 root root 21 9 мая 2018 г. librxtxRaw.so -> librxtxRaw-2.2pre1.so
-rw-r--r-- 1 root root 22704 9 мая 2018 г. librxtxRS485-2.2pre1.so
lrwxrwxrwx 1 root root 23 9 мая 2018 г. librxtxRS485.so -> librxtxRS485-2.2pre1.so
-rw-r--r-- 1 root root 59824 9 мая 2018 г. librxtxSerial-2.2pre1.so
lrwxrwxrwx 1 root root 24 9 мая 2018 г. librxtxSerial.so -> librxtxSerial-2.2pre1.so
$ ls -lA /usr/share/java/ | grep RXTX
-rw-r--r-- 1 root root 63027 9 мая 2018 г. RXTXcomm-2.2pre2.jar
lrwxrwxrwx 1 root root 20 9 мая 2018 г. RXTXcomm.jar -> RXTXcomm-2.2pre2.jar
Я вижу правильный класс внутри файла jar:
$ строки /usr/share/java/RXTXcomm.jar | grep CommPortIdentifier
gnu/io/CommPortIdentifier.класс
gnu/io/CommPortIdentifier.classPK
Как я могу помочь Java найти класс?
(Я уже пытался изменить порядок опций на sudo java -Djava.library.path=/usr/lib/jni/ -cp /usr/share/java/RXTXcomm.jar -jar /home/fadedbee/tc65sh-1.4.0/bin/tc65sh.jar -p /dev /ttyUSB0 -b 115200 -f push.txt
а ошибка осталась)