一、說明
最近在做一個項目,需要使用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的一種可能
(完)