2016-06-08 117 views
0

我正在創建一個簡單的AllJoyn java應用程序來發送和響應幾個信號。當我在Eclipse中運行代碼時(在Win7上),它運行良好。然而,當我出口它作爲一個可運行jar文件,並嘗試運行,我得到以下錯誤運行在allJoy項目的.jar的UnsatisfiedLinkError,在Eclipse中運行時沒有錯誤

Exception in thread "main" java.lang.UnsatisfiedLinkError: no alljoyn_java in java.library.path 

唯一的例外是在調用時執行以下代碼觸發:

static { System.loadLibrary("alljoyn_java");} 

我已經配置構建項目的路徑使用外部jar alljoyn_java,並將該庫的Native庫位置設置爲alljoyn_java.dll文件的父目錄。

回答

0

所以我最後做的是下載jarsplice並用它來添加本機庫後,我從Eclipse中導出的項目作爲一個.jar

0

您必須將文件alljoyn_java.dll,alljoyn_java.liballjoyn_java.exp放置在jar文件的同一目錄中。

然後,運行使用下面的命令的jar:

java -jar -Djava.library.path=. [your-jar-file.jar] 
0

的JVM查找在路徑中的java.library.path(如答案如上所述)指定指定的本機庫和/或路徑在環境變量LD_LIBRARY_PATH。使用上面註釋中提到的命令,或者將包含庫的目錄的路徑添加到環境變量LD_LIBRARY_PATH中。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<<path_of_dir_containing_lib>> 
java -jar <<your_jar_file>> 
+0

LD_LIBRAY_PATH只能在Linux無法在Windows(作爲問題請求) – Lino

相關問題