2016-04-03 47 views
1

我試圖使用這個jnr-jffi庫。它似乎對jffi有依賴性,所以我也構建了它幷包含在我的libs文件夾中。UnsatisifedLinkedError:在jar文件中找不到存根庫

我的代碼加載本地代碼如下:

MATH_LIB = LibraryLoader.create(MathLib.class).load("math"); 

MATH_LIB.Multiply(1, 2); 

而且我得到以下錯誤:

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file. Tried [jni/Darwin/libjffi-1.2.dylib, /jni/Darwin/libjffi-1.2.dylib] 

對於它的價值,我也有一個文件夾jni,似乎包含各種平臺的一堆本地庫。

如何繼續使用此庫加載我的本機代碼。

請注意,我嘗試在啓動我的項目時添加各種路徑,並將庫添加到我的機器上的各個位置,但沒有成功。

這意味着我需要弄清楚如何進一步調試呢?任何建議是受歡迎的。

+0

我面臨同樣的問題。你能解決這個問題嗎? – Eduardo

回答

0

使用JNR時最容易使用maven。 Maven將自動解決所有需要的依賴關係。

您只需添加到您的pom.xml

<dependency> 
    <groupId>com.github.jnr</groupId> 
    <artifactId>jnr-ffi</artifactId> 
    <version>2.0.9</version> 
</dependency> 

或者找到一個更先進的最新版本here

0

您需要的文件的特定於平臺的版本:libjffi-1.2.dylib 參考this問題&試圖找到你的平臺版本相關的罐子其中將包含上述庫文件。