UnsatisfiedLinkError экспортирует dll для развертывания

1

Я пытаюсь создать файл Runnable Jar из моего проекта, но две строки кода вызывают проблемы.

Внутри моего проекта я использую JNA для выполнения некоторых вызовов функций в DLL файле, который я сделал, но я не могу правильно связать его.

Я могу создать и запустить приложение в eclipse без проблем, я также могу создать runnable jar, но когда я попытаюсь запустить его, я получаю эту ошибку:

UnsatisfiedLinkError: no kl in java.library.path

kl - это имя моего. DLL файла.

Вот как я загружаю его:

private Dll dll; 

System.loadLibrary("kl");
dll = (Dll) Native.loadLibrary("kl", Dll.class);

Файл.dll в настоящее время помещается в корневую директорию моего проекта. Я считаю, что System.loadLibrary вызывает большинство проблем, мне нужно, чтобы он выглядел в основной корневой папке, независимо от того, кто работает с моим файлом jar.

спасибо

Теги:
dll
jna

1 ответ

1
Лучший ответ

Попробуйте запустить java с -Djava.library.path:

java -Djava.library.path = directory_where_your_library_is main_class

  • 0
    Спасибо, это сработало.
  • 0
    Для этого предпочтительнее будет установить PATH до запуска вашей JVM. Это автоматически загрузится в java.library.path и обеспечит правильное совпадение любых зависимостей DLL с вещами, не загруженными непосредственно JNA.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню