java.library.path 中没有 dhtreader

2024-05-19

我尝试让这个专家projekt https://bitbucket.org/Temdegon/greenhouse在 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\sensordhtreader.c file.

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

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

The dhtreader.so放置在与.jar.

dhtreader.c 文件是特定于 Raspberry Pi 使用 DHT11 和 DHT22 传感器的通用 C 类,它在许多 Raspberry Pi 项目中使用,并且有很多来源,例如this one https://code.ga-fl.net/cgz/jacuzzi/tree/913b3e809831b2e6a04f9e31c52bf03ea4176d38/var/jacuzzi/lib/Adafruit-Raspberry-Pi-Python-Code-master/Adafruit_DHT_Driver_Python.

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

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

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 to the java.library.path.

我如何添加dhtreader.so to the java.library.path?

我问在Raspberry Pi StackExchange https://raspberrypi.stackexchange.com/questions/48064/no-dhtreader-in-java-library-path首先,但他们认为这是题外话。


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

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

  • 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 目录中,该目录本身位于启动命令的目录中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.library.path 中没有 dhtreader 的相关文章

随机推荐

  • CPU 周期与总 CPU 时间

    在 Windows 上 GetProcessTimes 和 QueryProcessCycleTime 可用于获取应用程序所有线程的总计 我期望 显然是天真地 找到总周期数和总处理器时间 用户 内核 之间的比例关系 当转换为相同的单位 秒
  • C++从文件中读取整数并保存到数组中

    我正在制作一个仅从文本文件读取整数的程序 我想创建一个读取整数并将它们存储在数组中的函数 以便稍后可以使用该数组通过冒泡排序对它们进行排序 这是我到目前为止所得到的 但我得到的输出是一些随机的 803234 数字 void read int
  • 如何处理最终字符串?

    制作有什么好处吗String as final或者我们可以做String as final 我的理解是 由于 String 是不可变的 因此没有必要将其设为最终的 这是正确的还是人们想要的情况String as Final Code pri
  • 什么时候使用Task,什么时候使用Thread?

    我刚刚问了有关任务的问题 但意识到我实际上想问更一般的问题 有人可以总结一下任务和线程的优缺点吗 如何理解应该使用任务还是线程 Task是一个以异步方式编程执行某些操作的命令 这Thread实际上是OS内核对象executes要求什么 想一
  • 如何更改 LongListMultiSelector 中的 CheckBox 和 CheckBox 勾号的颜色? WP8

    是否可以更改 LongListMultiSelector 中的复选框和复选框勾选的颜色 我已经尝试过乔治 尼古拉德斯的解决方案 但我无法达到我所需要的 还有其他方法可以做到这一点吗 请问有人可以更详细地解释一下吗 如果它是可能的 提前致谢
  • 无法使用 OpenSSL 验证服务器证书

    我已经使用 OpenSSL 编写了一个 SOAP 客户端 在 Ubuntu 12 04 上用 C 编写 但它目前无需检查服务器安全证书即可运行 这是我用来设置连接和检查证书的函数 bool bInitialiseSSL SSL CTX ct
  • 无法找到任何实现 Connector 且名称与 io.debezium.connector.mysql.MySqlConnector 匹配的类,可用的连接器有

    使用 Kafka MySQL 和 Debezium 设置数据流管道 我是这个版本的 Kafka 3 4 0 MySQL 8 Debezium 2 2 1 Java 11 目标 我想从 MySQL 捕获所有 CDC 并将数据流式传输到 Kaf
  • Doctrine make:迁移未知数据库类型

    我正在尝试开始使用 Doctrine 但是在通过创建实体时遇到了问题php bin console make entity 然后我尝试进行迁移php bin console make migration但我收到此错误消息 请求未知的数据库类
  • CGPoint 标量乘法 Swift

    我正在 SpriteKit 中构建一个平台游戏 并将为我的实体实现更新功能 以便它们根据重力和速度移动 但是 我需要使添加的速度量与增量时间成比例 以防止帧速率影响我的实体的移动方式 因此我将导入 GLKit 以便我可以使用标量函数 但是
  • C++中有没有办法让派生类重写基类静态方法?

    我有一个多次派生的基类 B D1 D2 等 在类 B 中 我希望有一个静态方法 getInfo 它返回一个 BaseInfo 类 基本上是一个包含类 B 的默认成员值的类 因此将其设为静态是有意义的 因为不需要特定的实例 现在 有没有办法强
  • 是否可以在 PyScript 中使用 OpenCV 模块?

    我想使用 opencv 模块 但无法导入 OpenCV 那么我该如何解决这个问题呢 顺便说一句 Pyodide 支持 OpenCV 示例代码 https i stack imgur com ahwex jpg 尚不支持 OpenCV 此时O
  • 在 scala 宏中使用 LabelDef (2.10)

    我正在尝试 scala 2 10 宏功能 我使用时遇到问题LabelDef但在某些情况下 在某种程度上 我偷看了编译器的代码 阅读了摘录米格尔 加西亚的论文 http lampwww epfl ch magarcia但我还是卡住了 如果我的
  • Windows 窗体中的标准 Windows 菜单栏

    我注意到添加了一个MenuStrip 来自工具箱 我的表单设计不会产生像许多本机 Windows 应用程序中那样的菜单栏 相反 我得到了一个像 Visual Studio 自己的菜单栏 没有任何样式设置MenuStrip似乎模仿了更常见的本
  • 如何通过删除 Scala 中的一个元素来从列表中获取所有可能的子列表?

    我有一个清单List 1 2 3 4 并希望通过删除一个元素来获得所有子列表 List 2 3 4 List 1 3 4 List 1 2 4 List 1 2 3 做到这一点最简单的方法是什么 如果你的意思是 离开每个position在列
  • WCF服务通过IIS与第三方dll连接

    我正在使用 Windows 7 VS2010 SqlServer 2008 我的应用程序从第三方 dll 获取数据 它从必须在后台运行的另一个进程获取数据 并处理数据 然后通过 WCF 服务将其发送到前端 应用程序已完成并执行其应该执行的操
  • 对于实时网站使用 Node.js 或 Ringojs 安全吗?

    正如标题中所述 我想知道使用实际的 omg 平台 即 Node js 和 Ringo js 的实际版本 之一来开发网站是否安全 另外 我想知道他们是否支持cookie sessions以及他们如何处理多字段帖子 PHP中的fieldname
  • 使用 UISearchBar 过滤数组

    我目前正在使用以下代码来过滤数组并将结果显示在我的 tableView 中 问题是 只有当搜索与确切的单词匹配时 才会返回结果 如何更改数组过滤器以在输入时搜索每个字符 let data Mango Grape Berry Orange A
  • Pyaudio 安装错误 - “命令‘gcc’失败,退出状态 1”

    我正在运行 Ubuntu 11 04 Python 2 7 1 并想安装 Pyaudio 于是我跑了 sudo easy install pyaudio 在终端中 进程退出并显示以下错误消息 Searching for pyaudio Re
  • 页面中某些超链接控件上的本地化资源未发生变化

    上面是正在开发中的网站的屏幕截图 我们有一个 DropdownList 控件 并在其 SelectedIndexChanged 上进行回发 然后我们更改站点区域性 然后加载相应的资源文件 DropDownList ASP NET 代码
  • java.library.path 中没有 dhtreader

    我尝试让这个专家projekt https bitbucket org Temdegon greenhouse在 Raspberry Pi 3 上运行 但 DHT11 传感器给出以下错误 sudo java classpath classe