Я составил программу, и в одном из методов используется Джейкоб. Пока я работал над программой в компиляторе, я мог заставить работать библиотеку Jacob только в том случае, если помещал файл jacob-1.18-x64.dll
в ту же папку, что и проект, над которым я работал. Это работало нормально, пока я не попытался обернуть программу в файл .exe
с помощью Launch4j. Когда я щелкаю версию программы .exe
, она выдает ошибку Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path
, когда переходит к методу, использующему Джейкоба. Я знаю, что проблема в том, что он не может найти библиотеку, но я не уверен, как подключить эту библиотеку к файлу .exe
. Как заставить этот файл .exe
запускаться и включать библиотеки Jacob? Как я уже упоминал ранее, чтобы заставить программу работать в среде IDE, мне пришлось переместить .dll
в ту же папку, что и проект. В итоге попробовал сделать то же самое с файлом .exe
, но даже в той же папке не работает. Что еще мне нужно сделать, чтобы заставить это работать?
заставить Джейкоба работать с исполняемым файлом Java
Ответы (2)
Вы должны установить java.library.path
в командной строке JVM, примерно так:
java -Djava.library.path=jacob-1.18-x64.dll -cp your_class path YourMainClass
Предлагаю сначала разобраться запускать вот так из командной строки, а потом узнать, как правильно преобразовать вашу полностью рабочую командную строку в Launch4j.
person
janos
schedule
11.01.2016
Jacob v1.18 вызывает System.loadLibrary(dllname)
для загрузки файла DLL. Правило поиска основано на системном свойстве java.library.path
(будьте осторожны, менять его после запуска JVM бесполезно)
Вы можете проверить этот ответ об изменении конфигурации Launch4j< /а>
person
Beck Yang
schedule
07.02.2016