我正在构建一个应用程序以获取NMEA GPS数据,通过RXTX进行串行端口通信。 在我的Mac上它运行得很好。当我尝试在我的Rasp Pi上运行它时,它会抛出错误:
no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
在Mac上,我看到如果我移动/Library/Java/Extensions/librxtxSerial.jnilib,它也会抛出相同的错误。
我的问题是:在我的RasbPi上,我是否需要将此rxtxSerial文件添加到某个文件夹(可能在JVM中?),或者在导出时是否应该使用runnable jar打包。我的Mac或我的RasbPi上有问题吗?
由于
答案 0 :(得分:3)
您可以通过正常的软件包安装方法在Raspberry Pi上安装此库。
只需输入:
sudo apt-get install librxtx-java
现在你可以像这样启动jar:
java -Djava.library.path=/usr/lib/jni -cp /usr/share/java/RXTXcomm.jar -jar your.jar
答案 1 :(得分:0)
该错误表示无法找到名为rxtxSerial
的本机库。您需要具有该名称的Raspberry Pi的本机库,并设置系统属性java.library.path
,使其指向包含本机库的目录。这意味着您必须使用-D
选项启动Java程序,例如:
java -Djava.library.path=/some/dir com.mypackage.MyProgram
其中/some/dir
是包含本机库的目录。
您必须找出是否有适合您尝试使用的RXTX库的Raspberry Pi的本机库。