java读取.so文件,本地可以,部署到linux后报错,求解!!

TommyWu01 2021-02-02 07:27:54

项目中,需要用到C库,通过JNI进行调用,C库打包文件名称为:libecgqrs.dll、libecgqrs.so.

我在本地windows系统下测试过了,java加载.dll和.so文件都是没有问题。

本地加载方式为: System.load("D:/libecgqrs.dll"); 或者 System.load("D:/libecgqrs.so"); 这两种都测过,没有问题的。

阿里云ECS中加载方式为: System.load("/home/ecglibfile/libecgqrs.so"); 或者System.load("/home/ecglibfile/libecgqrs.dll"); 加载方式一样,只是绝对路径不同,这两种都加载失败,报错信息如下:

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/ecglibfile/libecgqrs.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: /home/ecglibfile/libecgqrs.so: /home/ecglibfile/libecgqrs.so: invalid ELF header (Possible cause: endianness mismatch)

Caused by: java.lang.UnsatisfiedLinkError: /home/ecglibfile/libecgqrs.so: /home/ecglibfile/libecgqrs.so: invalid ELF header (Possible cause: endianness mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)

做过这方面的兄弟们,知道这是为什么不? 在线求解~~~~
...全文
973 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
debugeeker 2021-02-24
  • 打赏
  • 举报
回复
windows下只识别pe格式,linux下识别elf格式。你这个so编译有问题,需要放在linux下编译或者使用交叉编译器在windows下编译
sxysoft_csdn 2021-02-23
  • 打赏
  • 举报
回复
windows 下如果能读取 so 文件,说明 so 文件不是 linux 格式,错误信息已经说明 so 文件不是 ELF 格式的动态库,两个不同的操作系统
幽饮烛 2021-02-23
  • 打赏
  • 举报
回复
windows 下如果能读取 so 文件,说明 so 文件不是 linux 格式,错误信息已经说明 so 文件不是 ELF 格式的动态库
烟花苏柳 2021-02-07
  • 打赏
  • 举报
回复
参考这篇即可:https://blog.csdn.net/sinat_33761963/article/details/83024619
aabbabababaa 2021-02-07
  • 打赏
  • 举报
回复
系统32位还是64位?

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧