尝试在Pi上的Java中为RXTX的代码设置lib路径

时间:2019-07-05 00:05:38

标签: java rxtx lib

已在Windows和Raspberry Pi上运行Java程序。在Pi上运行程序时,我需要使用-Djava.library.path=/usr/lib/jni

  

运行jar时,请运行RXTX libs can be found。我想做   System.setProperty()进行编码,但无效。

Pi上setProperty()的任何已知问题?

已验证,因此Pi上的文件位于/usr/lib/jni中。打印输出表明路径已按预期发送到setProperty()

    if (doPi == true)
        s = "/usr/lib/jni"; // Pi so files
    else
        s = "C:\\Program Files (x86)\\Java\\jre1.8.0_181\\bin"; // Win dll files

    System.setProperty("java.library.path", s);
    System.out.println("Java lib path " + s);

我期望setProperty()代码将使我不需要

-Djava.library.path=/usr/lib/jni

运行jar文件时。

  

但是没有它,我会得到一个错误,RXTX lib files are not found

1 个答案:

答案 0 :(得分:0)

我认为问题是在启动应用程序之前需要设置RXTX lib文件的路径。因此,使用System.setProperty()方法进行设置可能是可行的,但是它会在程序启动后(因此在读取属性之后)设置属性。

我在RaspberryPi上使用RXTX库已有相当长的一段时间了,我还没有找到一种无需命令行参数即可启动此应用程序的方法。启动应用程序的最简单方法可能是小的 bash脚本

另一种方法是不使用RXTX(它已经很老了,不值得推荐),而是使用类似in this answer的替代方法。