gpt4 book ai didi

java - java.library.path 中没有 dhtreader

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:46 24 4
gpt4 key购买 nike

我试着得到这个专家projekt在 Raspberry Pi 3 上运行,但 DHT11 传感器给我以下错误:

sudo java -classpath '.:classes:*:classes:/opt/pi4j/lib/*' com.epam.llpd.greenhouse.web.ServerStarter

java.lang.UnsatisfiedLinkError: no dhtreader in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.epam.llpd.greenhouse.sensor.Sensor.<clinit>(Sensor.java:16)
at com.epam.llpd.greenhouse.PiHardwareController$1.run(PiHardwareController.java:132)

\src\main\java\com\epam\llpd\greenhouse\sensor 文件夹中有 dhtreader.c 文件。

我确实使用以下命令编译了一个二进制对象:

gcc -o dhtreader.so -lc -shared -I/usr/lib/jvm/jdk-7-oracle-arm-vfp-hflt/include -I/usr/lib/jvm/jdk-7-oracle-arm-vfp-hflt/include/linux dhtreader.c -l bcm2835

dhtreader.so.jar 放在同一文件夹中。

dhtreader.c 文件是 Raspberry Pi 使用 DHT11 和 DHT22 传感器的通用 C 类,它在许多 Raspberry Pi 项目中使用,并且有很多来源,例如 this one .

这个C类(dhtreader.c)是通过via使用的。 JNI/C 但由于上述错误,它无法正常工作。

我已经尝试在 java main 中使用以下方法设置 java.library.path:

System.setProperty("java.library.path", "./");

那没有帮助。相反,我将 -Djava.library.path=./ 添加到 java 命令中:

sudo java -classpath '.:classes:*:classes:/opt/pi4j/lib/*' com.epam.llpd.greenhouse.web.ServerStarter -Djava.library.path=./

但这也无济于事。

现在我卡住了,不知道如何将 dhtreader.so 添加到 java.library.path

如何将 dhtreader.so 添加到 java.library.path

我在 Raspberry Pi StackExchange 中询问过首先,但他们认为这是题外话。

最佳答案

尝试简单地将 dhtreader.so 重命名为 libdhtreader.so

确实,当我们在 java 中调用 System.loadLibrary("foo") 时,库的预期名称是:

  • Windows: foo.dll
  • Unix/Linux: libfoo.so
  • Mac: libfoo.jnilib

尝试像下一步一样启动它:

sudo java -Djava.library.path=./lib -classpath '.:classes:*:classes:/opt/pi4j/lib/*' com.epam.llpd.greenhouse.web.ServerStarter

注意:上面的命令假定您的 lib 位于 lib 目录中,该目录本身位于命令启动的目录中。

关于java - java.library.path 中没有 dhtreader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com