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

问题描述 投票:0回答:1

在 Windows 和 Raspberry Pi 上运行 Java 程序。在 Pi 上运行程序时,我需要使用

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

当我运行罐子时,

RXTX libs can be found
。我想在 用
System.setProperty()
编码,但不起作用。

Pi 上的

setProperty()
有任何已知问题吗?

已验证 Pi 上的 so 文件位于

/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

java java-native-interface rxtx
1个回答
0
投票

我认为问题在于在启动应用程序之前需要设置 RXTX lib 文件的路径。因此,使用

System.setProperty()
方法设置它可能是有效的,但它是在程序启动后设置属性的,因此是在读取属性后设置的。

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

另一种方法是不使用 RXTX (这是相当旧的并且不真正值得推荐),而是使用像本答案中描述的替代方案

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.