2016-11-14 41 views
0

我嘗試使用分詞軟件,創建一個名爲JNA的新Java項目,並將所需文件導入到JNA dir,然後嘗試運行它,而無需任何代碼修改和MyEclipse的警告我說:無法在JNA中加載庫NLPIR.dll

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'E://java//JNI//JnaTest_NLPIR//NLPIR': Native library (win32-x86-64/E://java//JNI//JnaTest_NLPIR//NLPIR.dll) not found in resource path ([file:/D:/javasoft/MyEclipse_workspace/JNA/bin/, file:/D:/javasoft/MyEclipse_workspace/JNA/lib/jna-4.0.0.jar])

我想:

  • 創建相同的顯示目錄和移動NLPIR.dllE:/java/JNI/JnaTest_NLPIR/,沒有奏效。
  • 移動NLPIR.dll直接到JNA/binJNA/lib,但它也沒有工作。

我認爲這是由我的NLPIR.dll的位置造成的。但我無法弄清楚如何解決它。

我將不勝感激任何幫助或建議。

回答

0

確保NLPIR.dll(及其所有依賴庫)是%PATH%,或使用-Djna.library.path=...以表明它在文件夾中。

+0

我接着說:NLPIR.dll'我'PATH',並在文件修改'dll_or_so_path'項目目錄中的'nlpir.properties'指向'dll_or_so_path = D:/ javasoft/MyEclipse_workspace/JNA/NLPIR.dll'。那麼問題就消失了,但另一個問題出現了:'%1不是有效的Win32應用程序'。我使用64位MyEclipse,是這個原因嗎?我看到一些答案,可以通過將MyEclipse更改爲32位來解決問題..... –

+0

如果您的庫是32位的,則必須使用32位JVM。您的DLL的體系結構必須與您的JVM的體系結構相匹配。 – technomage