2016-11-14 3 views
0

Я пытаюсь использовать программное обеспечение для сегментации слов, я создаю новый проект java с именем JNA и импортирую необходимые файлы в каталог JNA, затем я пытаюсь запустить его без какой-либо модификации кода и MyEclipse предупреждает меня, что:Невозможно загрузить библиотеку NLPIR.dll в 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])

Я попытался:

  • создают те же каталоги и перейти к NLPIR.dllE:/java/JNI/JnaTest_NLPIR/, это не сработало.
  • переместить NLPIR.dll непосредственно в JNA/bin или JNA/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