加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 资源路径中找不到JNA本机支持(/com/sun/jna/linux-arm/

发布时间:2020-12-14 06:08:03 所属栏目:Java 来源:网络整理
导读:我已经开始构建一个java服务,它包含JNA以加载本机C/C++库,我想在Raspberry PI aka arm平台上运行java服务.我已成功建立了稳定的服务基础,它在Windows7和linux-amd64 / debian上运行,但是在RPI平台上我得到了上述错误: 线程“main”中的异常java.lang.Unsati

我已经开始构建一个java服务,它包含JNA以加载本机C/C++库,我想在Raspberry PI aka arm平台上运行java服务.我已成功建立了稳定的服务基础,它在Windows7和linux-amd64 / debian上运行,但是在RPI平台上我得到了上述错误:
线程“main”中的异常java.lang.UnsatisfiedLinkError:资源路径中找不到JNA本机支持(/com/sun/jna/linux-arm/libjnidispatch.so)

在RPI上,我做了以下事情:
*安装了openjdk7和java8 beta,支持arm hard float.
*安装了libjna-java lib.

以下是:

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

CLASSPATH

root@pisces:/opt/TellstickReplay# echo $CLASSPATH
/usr/lib/jna

没有任何设置似乎满足JAVA与JNA支持.我甚至试图将jna.jar和linux-arm.jar导出到Eclipse中的项目中,并且一起将jar重建为导出的jar仍然得到相同的错误.导出的jar已在windows和linux上成功测试,因此jar文件正在运行.

我也尝试在jar文件中的Manifest中使用CLASSPATH但没有成功.我也尝试从绝对路径显式加载libjnidispatch.so,但JAVA然后开始抱怨它找不到libjnidispatch.so文件,即使路径是100%正确.

那么..有谁知道如何正确获得Raspberry PI平台上的JNA支持?请,我非常沮丧,很快放弃希望解决这个问题..

最佳答案
我正在为RPI2重新编译Apache Spark,我花了几天时间来解决这个问题.然后我找到了最简单的解决方案.您需要拥有的是默认JVM的本机lib路径中的libjnidispatch.so链接.

sudo -s ln -s /usr/lib/arm-linux-gnueabihf/jni/libjnidispatch.so /usr/lib/jvm/default-java/jre/lib/arm/libjnidispatch.so

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读