我正在使用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。 但它并没有解决这个问题。 我在文件系统中search了四处,发现librxtxSerial.so位于/ usr / lib / jni中。
我该如何解决这个问题?
提前致谢
在Project – > properties – > Java build path中找到你的jar。 点击+打开JAR的属性,选择Native library location并编辑它指向RXTX的共享库(.DLL,.so,.dylib)。
一种方法是在Eclipse运行配置中为您的项目设置java.library.path。 您可以在运行配置的参数选项卡中编辑虚拟机参数(可以通过几种方法访问,包括右键单击项目 – >运行 – >运行配置…和运行菜单 – >运行配置…)。
如果您在项目的根目录下创建一个lib目录,并将一个RXTX库的副本放在lib目录中,则可以使用以下VM参数(用ProjName替换项目名称)。
-Djava.library.path=${project_loc:ProjName}/lib
打开终端(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/