Tôi có lỗi sau:
$ 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
tc65sh v1.4.0
xử lý tập tin lệnh push.txt
kết nối/dev/ttyUSB0 với 115200 baud, flowControl r
Ngoại lệ trong luồng "chính" java.lang.NoClassDefFoundError: gnu/io/CommPortIdentifier
tại org.tc65sh.device.Device.connect(Device.java:56)
tại org.tc65sh.Main.exec(Main.java:102)
tại org.tc65sh.Main.main(Main.java:59)
Gây ra bởi: java.lang.ClassNotFoundException: gnu.io.CommPortIdentifier
tại java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
tại java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
tại java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 3 nữa
Tôi đã cài đặt libRXTX và tất cả các tệp xuất hiện ở đúng vị trí:
$ ls -lA /usr/lib/jni/
tổng số 148
-rw-r--r-- 1 root root 22696 Ngày 9 tháng 5 năm 2018 librxtxI2C-2.2pre1.so
lrwxrwxrwx 1 root root 21 ngày 9 tháng 5 năm 2018 librxtxI2C.so -> librxtxI2C-2.2pre1.so
-rw-r--r-- 1 root root 14424 Ngày 9 tháng 5 năm 2018 librxtxParallel-2.2pre1.so
lrwxrwxrwx 1 root root 26 ngày 9 tháng 5 năm 2018 librxtxParallel.so -> librxtxParallel-2.2pre1.so
-rw-r--r-- 1 root root 22688 Ngày 9 tháng 5 năm 2018 librxtxRaw-2.2pre1.so
lrwxrwxrwx 1 root root 21 ngày 9 tháng 5 năm 2018 librxtxRaw.so -> librxtxRaw-2.2pre1.so
-rw-r--r-- 1 root root 22704 Ngày 9 tháng 5 năm 2018 librxtxRS485-2.2pre1.so
lrwxrwxrwx 1 root root 23 ngày 9 tháng 5 năm 2018 librxtxRS485.so -> librxtxRS485-2.2pre1.so
-rw-r--r-- 1 root root 59824 Ngày 9 tháng 5 năm 2018 librxtxSerial-2.2pre1.so
lrwxrwxrwx 1 root root 24 ngày 9 tháng 5 năm 2018 librxtxSerial.so -> librxtxSerial-2.2pre1.so
$ ls -lA /usr/share/java/ | grep RXTX
-rw-r--r-- 1 gốc gốc 63027 Ngày 9 tháng 5 năm 2018 RXTXcomm-2.2pre2.jar
lrwxrwxrwx 1 root root 20 ngày 9 tháng 5 năm 2018 RXTXcomm.jar -> RXTXcomm-2.2pre2.jar
Tôi có thể thấy đúng lớp bên trong tệp jar:
$ chuỗi /usr/share/java/RXTXcomm.jar | grep CommPortIdentifier
gnu/io/CommPortIdentifier.class
gnu/io/CommPortIdentifier.classPK
Làm cách nào tôi có thể giúp Java tìm lớp?
(Tôi đã thử thay đổi thứ tự tùy chọn thành 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
nhưng lỗi vẫn còn.)