2016-11-14 1 views
0

Ich versuche, eine Word-Segmentierung-Software zu verwenden, ich erstellen ein neues Java-Projekt mit dem Namen JNA, und importieren Sie die erforderlichen Dateien in JNA dir, dann versuche ich es ohne Code-Änderung auszuführen und MyEclipse warnt mich, dass:Laden der Bibliothek NLPIR.dll in JNA

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])

ich versuchte:

  • die gleichen dirs erstellen und NLPIR.dll-E:/java/JNI/JnaTest_NLPIR/ bewegen, es hat nicht funktioniert.
  • verschieben NLPIR.dll direkt zu JNA/bin oder JNA/lib, aber es hat auch nicht funktioniert.

Ich denke, dass es durch die Position meines NLPIR.dll verursacht wird. Aber ich konnte nicht herausfinden, wie ich es beheben konnte.

Ich wäre dankbar für jede Hilfe oder Anregungen.

Antwort

0

Stellen Sie sicher, NLPIR.dll (und alle abhängigen Bibliotheken) ist auf %PATH%, oder verwenden Sie -Djna.library.path=... den Ordner, um anzuzeigen, es in ist.

+0

Ich habe 'NLPIR.dll' meiner' PATH' und modifizierte 'dll_or_so_path' in Datei 'nlpir.properties' im Projektverzeichnis zu' dll_or_so_path = D:/javasoft/MyEclipse_workspace/JNA/NLPIR.dll'. dann ging das Problem weg, aber ein anderer kam: '% 1 keine gültige Win32-Anwendung'. Ich benutze 64bit MyEclipse, ist das der Grund? Ich habe einige Antwort gesehen, dass das Problem gelöst werden konnte, indem Sie MyEclipse zu 32bit ..... –

+0

ändern Wenn Ihre Bibliothek 32-Bit ist, müssen Sie eine 32-Bit-JVM verwenden. Die Architektur Ihrer DLL muss mit der Ihrer JVM übereinstimmen. – technomage