8

Fedora 现在使用(包已安装Package rxtx-2.2-0.5.20100211.fc15.i686 already installed and latest version )。

我已经使用/尝试过:

# locate librxtxSerial
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/i686-unknown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/ia64-unkown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Linux/x86_64-unknown-linux-gnu/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Mac_OS_X/librxtxSerial.jnilib
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial-2.1-7.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc32-sun-solaris2.8/librxtxSerial.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc64-sun-solaris2.8/librxtxSerial-2.1-7.so
/home/sun/Downloads/rxtx-2.1-7-bins-r2/Solaris/sparc-solaris/sparc64-sun-solaris2.8/librxtxSerial.so
/usr/lib/rxtx/librxtxSerial-2.2pre1.so
/usr/lib/rxtx/librxtxSerial.so

然后使用:

-Djava.library.path=/usr/lib/rxtx/librxtxSerial.so -Djava.library.path=/usr/lib/jni

但我仍然得到以下信息:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
    at main.Tty.sendCommand1(Tty.java:212)
    at main.Tty.main(Tty.java:236)

如何解决这个问题?

跟进:

错误的:

-Djava.library.path=/usr/lib/rxtx -Djava.library.path=/usr/lib/jni

正确的

-Djava.library.path=/usr/lib/jni -Djava.library.path=/usr/lib/rxtx

4

5 回答 5

6

我想问题是你有多个-Djava.library.path参数,第二个参数覆盖了第一个参数。该值还应该是包含库的文件夹的路径,不包括库名称。

在 linux 系统上,您应该能够使用冒号作为分隔符来组合两个路径参数:

-Djava.library.path=/usr/lib/rxtx:/usr/lib/jni
于 2012-05-25T09:23:44.180 回答
3

从存储库安装的 v4l4j 库有同样的问题。在 ununtu netbeans 项目中,无法从 IDE 启动,但作为 jar 可以正常工作。

通过将 *.so 文件放入/usr/lib/usr/lib/jni文件夹来解决。

于 2013-05-14T06:23:26.533 回答
1

项目 -> 属性 -> Java 构建路径 -> 找到您的 .jar。单击 + 打开 JAR 的属性。选择 Native library location 并编辑它以指向 RXTX 的共享库(.DLL、.so、.dylib)。

于 2013-11-28T05:04:32.903 回答
0

我们在linux上遇到了同样的问题。我们修复它的关键是

  1. 使用冒号“:”分隔 java.library.path 元素
  2. 使用正斜杠作为目录分隔符

在我们的例子中,我们使用了这样的相对路径

-Djava.library.path=jar/linux64:jars

该路径是相对于启动路径的。例如,当从 netbeans 运行时,启动目录就是项目目录。

于 2013-03-12T11:22:07.210 回答
-1
Copy RXTXcomm.jar ---> <JAVA_HOME>\jre\lib\ext

Copy rxtxSerial.dll ---> <JAVA_HOME>\jre\bin

Copy rxtxParallel.dll ---> <JAVA_HOME>\jre\bin

于 2017-03-30T21:39:10.757 回答