java.lang.UnsatisfiedLinkError:java.library.path中没有rxtxSerial

sld*_*lin 18 java rxtx

我试图使用64位rxtx串行通信库(从cloudhopper下载)与64位Windows 7和eclipse.我收到消息: java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path.dll和/jre/libdir一样Windows/System32.的RXTXcomm.jar是在Eclipse的构建路径,以及在jre/lib/extDIR.我在后台运行了进程监视器,并且看到了RXTXcomm.jar,rxtxSerial.dll并且rxtxParallel.dll都已找到并且已经打开,所以我不清楚为什么会出现这个问题.

有什么建议.

小智 20

转到项目 - >属性 - > Java构建路径 - >找到您的.jar.单击+打开JAR的属性.选择本机库位置并编辑它以指向RXTX的共享库(.DLL,.so,.dylib).


小智 7

您可以librxtx-java从repo为Ubuntu 安装包.

  • 奇怪的是,它安装在我的系统上,但我收到了这条消息.奇怪的. (2认同)
  • @Doc 如果您指定位置,它会起作用, java **-Djava.library.path=/usr/lib/jni** -jar YourApp.jar (2认同)

Alb*_*ola 7

您还可以添加虚拟机参数:

-Djava.library.path=c:\path\to\dll\
Run Code Online (Sandbox Code Playgroud)

要么

-Djava.library.path=/path/to/lib/
Run Code Online (Sandbox Code Playgroud)

这对我有用.另请参阅此问题.


小智 2

嘿,我在 Ubuntu 11.10 下将 RXTXcomm 集成到 Netbeans 时遇到了同样的问题。我猜您没有将文件复制到正确的位置,至少这是我的问题。

Ubuntu下java安装在usr/lib/jvm下。但在这里我有很多 forders(例如java-7-openjdk-i386java-7-commonjava-6-openjdk ...)。在 Netbeans 中,我检查项目中包含的 JDK 的路径是什么,它是java-7-openjdk-i386。所以我拿了rxtxSerial.so(在Windows下是rxtxSerial.dll)并将其复制到java-7-openjdk-i386/jre/bin,它的工作就像一个魅力。

我希望这有帮助。