一、说明
最近在做一个项目,需要使用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的一种可能
(完)