我已经开始构建一个包含 JNA 来加载本机 C/C++ 库的 java 服务,我想在 Raspberry PI aka arm 平台上运行 java 服务。我已经成功地建立了一个稳定的服务基础,它可以在 Windows7 和 linux-amd64/debian 上运行,但是.. 在 RPI 平台上,我收到上述错误:线程“main”中的异常 java.lang.UnsatisfiedLinkError: JNA native在资源路径中找不到支持 (/com/sun/jna/linux-arm/libjnidispatch.so)
在 RPI 上,我做了以下工作: * 安装了带有 arm 硬浮点支持的 openjdk7 和 java8 beta。* 安装 libjna-java 库。
设置如下:
爪哇
root@pisces:/opt/TellstickReplay# java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b36e)
Java HotSpot(TM) Client VM (build 25.0-b04, mixed mode)
root@pisces:/opt/TellstickReplay#
LD_LIBRARY_PATH
root@pisces:/opt/TellstickReplay# echo $LD_LIBRARY_PATH
/opt/lib/jna
类路径
root@pisces:/opt/TellstickReplay# echo $CLASSPATH
/usr/lib/jna
这些设置似乎都不能满足 JNA 支持的 JAVA。我什至尝试将 jna.jar 和 linux-arm.jar 都导出到 Eclipse 中的项目中,然后一起将 jar 重新构建到导出的 jar 中,但仍然出现相同的错误。导出的 jar 已在 windows 和 linux 上成功测试,因此 jar 文件可以正常工作。
我也尝试在 jar 文件的 Manifest 中使用 CLASSPATH,但没有成功。我还尝试从绝对路径显式加载 libjnidispatch.so,但 JAVA 然后开始抱怨它无法找到 libjnidispatch.so 的文件,即使路径是 100% 正确的。
那么.. 有谁知道如何在 Raspberry PI 平台上正确获得 JNA 支持才能正常工作?拜托,我非常沮丧,很快就放弃了解决这个问题的希望..