关于jni调用报UnsatisfiedLinkError的可能

一、说明

最近在做一个项目,需要使用java去调本地动态连接库,之前做测试的时候直接用pojo进行测试,是能够正常调用的。后面项目需要将接口封装为REST api,所以在spring boot上面开发,但是同一个调用,在spring上面就出现问题了。

 

二、解决

先确保将dll文件放置到指定的地方,可以参考:https://bbs.csdn.net/wap/topics/380053817

如果还是不行,那就要看,考虑namespace的问题了。

查看封装了jni的java文件,查看一下这个文件的包。譬如,之前我用pojo进行测试的时候,调用的接口文件,所在包的名字是com.dream.cometrue。后面我在spring里面,将这个文件拖进另外一个包com.hello.world,于是出现了一直报UnsatisfiedLinkError的问题。

所以解决方法很简单,就是在新项目里也需要保持包名一致,将这些封装了jni的文件放在com.dream.cometrue中。

 

三、参考

1. jni 出现 UnsatisfiedLinkError的一种可能

(完)

posted @ 2019-03-21 11:12  大师兄啊哈  阅读(6724)  评论(0编辑  收藏  举报