首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.library.path中没有dhtreader

java.library.path中没有dhtreader
EN

Stack Overflow用户
提问于 2016-05-29 18:59:18
回答 1查看 1.9K关注 0票数 2

我试图让这个maven 普罗吉特在Raspberry 3上运行,但是DHT11传感器给出了以下错误:

代码语言:javascript
复制
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文件。

我使用以下命令编译了一个二进制objekt:

代码语言:javascript
复制
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的一个特定于Raspberry使用DHT11和DHT22传感器的公共C类,它用于许多Raspberry项目中,并且有许多类似这一个的源。

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

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

代码语言:javascript
复制
System.setProperty("java.library.path", "./");

这没什么用。相反,我将-Djava.library.path=./添加到java命令中:

代码语言:javascript
复制
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**?**添加

我先在覆盆子Pi StackExchange上问过,但他们认为这不是话题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-29 19:30:19

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

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

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

尝试以下面的方式启动它:

代码语言:javascript
复制
sudo java -Djava.library.path=./lib -classpath '.:classes:*:classes:/opt/pi4j/lib/*' com.epam.llpd.greenhouse.web.ServerStarter

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37513726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档