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

时间:2013-02-19 08:25:22

标签: java eclipse ubuntu rxtx

我正在使用Eclipse IDE开发Java应用程序。我的操作系统是Ubuntu 11.我的应用程序使用RXTX库(gnu.io. *)进行串行通信。我在项目中添加了RXTXomm.jar文件(project-> Properties-> java buld path-> add external jars)。 每当我运行我的代码时,它都会给我这个错误。

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 个答案:

答案 0 :(得分:16)

在Project中找到你的jar - >属性 - > Java构建路径。单击 + 打开JAR的属性,选择Native library location并编辑它以指向RXTX的共享库(.DLL,.so,.dylib)。 / p>

答案 1 :(得分:2)

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

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

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

答案 2 :(得分: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/