2014-10-31 67 views
1


我有以下情形:使用反射調用Java Legacy類的Java桌面應用程序。傳統模塊執行一些本地操作(訪問智能卡)。
在Eclipse上運行時,一切正常:我將Java桌面應用程序作爲一個Java項目,它具有一組庫,包括Java傳統JAR文件。
現在我已經從Eclipse項目創建了一個可運行的JAR文件:當我嘗試訪問Java Legacy層時,會發出以下錯誤:java.lang.UnsatisfiedLinkError:已在另一個類加載器中加載的本機庫sunmscapi.dll
真正讓我感到困惑的是,爲什麼它在Eclipse上正常工作,它使用與可運行JAR文件相同的JDK設置?任何幫助
UnsatisfiedLinkError:本機庫sunmscapi.dll已在另一個類加載器中加載

回答

1

實際上,Eclipse在啓動應用程序時並未執行可運行的JAR文件,而只是添加單個類路徑條目(請參閱.classpath文件)。嘗試僅在jar文件中導出Desktop應用程序,然後使用-classpath添加所有其他庫(包括舊版應用程序)。然後你有和Eclipse一樣的環境,它們的輸出不應該不同。

+0

非常感謝!通過在一個文件夾中打開可運行的JAR文件並添加-classpath工作! – user2824073 2014-10-31 08:10:16

相關問題