开发者社区> 问答> 正文

一个有趣的问题,关于java项目部署在AIX系统调用JNI?报错

项目部署在AIX系统上,程序运行时卡在调用so方法那,不运行下去,不报错,也没有异常捕获。本地windows调用dll能通过,而且在AIX上写测试程序调用so(项目中的so文件),也能成功返回结果。这是什么原因?

展开
收起
爱吃鱼的程序员 2020-06-12 14:06:54 696 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    在windows上正常,一部署到linux就出问题主要有两个原因,一个权限,一个路径。你写测试程序能调用到有可能测试程序正好满足了这两个条件。而在项目中写法不一样,或者运行用户不一样就出问题了。首先确定程序执行到调用那里了,然后再考虑路径是否对,权限是否有。慢慢排查吧。
    其实还有更灵异的事:当天还可以跑,但是安装UTF-8字符集后,就不能跑了回复<aclass='referer'target='_blank'>@烟波江客:从你说的也只能分析出这么多了。写程序中经常会出现这种灵异问题,但有时候灵感突然来了就发现问题原因了,而且原因令人发笑。切换成其他的so文件,会提示方法引用不到,说明路径是对的。至于权限,是用root登录的,权限应该不是问题吧

    2020-06-12 14:07:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载