如何在java.library.path中添加rxtxSerial?

12

我正在使用Eclipse IDE开发一个Java应用程序,我的操作系统是Ubuntu 11。我的应用程序正在使用RXTX库(gnu.io.*)进行串口通信。我通过以下方法将RXTXomm.jar文件添加到项目中(project->属性->Java Build Path->添加外部jar),但每当我运行代码时它都会给我报错。

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

我甚至尝试安装librxtx-java.deb,但它并没有解决问题。我在文件系统中搜索并发现librxtxSerial.so位于/usr/lib/jni中。

我该如何解决这个问题?

提前致谢。

3个回答

16

在项目 -> 属性 -> Java 构建路径中找到您的 jar 文件。点击 + 打开 JAR 的属性,选择本地库位置并将其编辑为指向 RXTX 共享库(.DLL、.so、.dylib)的路径。


3
你如何在Netbeans中完成这个操作? - DevilCode
2
我不知道,我不是NetBeans的用户。在Stack Overflow、Google等搜索一下...如果还没有答案,就提一个新问题吧(而不是评论)。 - martijno
太棒了,它在Linux上运行良好...点赞 - Learner
嗨,我也遇到了同样的问题,但是我不知道如何打开jar属性,因为我在Eclipse项目构建路径中没有找到选项+,请帮助我解决这个问题。 - Lina

2

打开终端(Ctrl+Alt+T),并检查:

echo $JAVA_HOME 
 # JDKDIR : /usr/lib/jvm/java-7-oracle

然后运行:
sudo cp /usr/lib/jni/librxtxSerial.so $JAVA_HOME/jre/lib/i386/

"$JAVA_HOME/jre/lib/i386/"周围添加引号。 - Aleks-Daniel Jakimenko-A.

2

一种方法是在Eclipse运行配置中设置java.library.path。您可以在运行配置的参数选项卡中编辑VM参数(访问此选项的几种方法包括右键单击项目 -> 运行为 -> 运行配置...和运行菜单 -> 运行配置...)。

如果您在项目根目录下创建一个lib目录,并将RXTX库的副本放置在lib目录中,则可以使用以下VM参数(将ProjName替换为您的项目名称)。

-Djava.library.path=${project_loc:ProjName}/lib

编辑以添加一些选项,以获取项目的运行配置。@martijno的答案提供了更快,更清晰的结果,但有时我更喜欢这种方式,因为它使事情更可见,特别是在引入多个依赖项时。 - kevind7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接