Я пытаюсь создать файл 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.
спасибо
Попробуйте запустить java с -Djava.library.path:
java -Djava.library.path = directory_where_your_library_is main_class
PATH
до запуска вашей JVM. Это автоматически загрузится вjava.library.path
и обеспечит правильное совпадение любых зависимостей DLL с вещами, не загруженными непосредственно JNA.