Как включить библиотеки при создании.exe из.jar с exe4j
Я написал Java FX Tool, который подключается к базе данных.accdb и создал из нее исполняемый файл JAR, который работает очень хорошо. В той же папке файла JAR у меня есть несколько библиотек JAR, которые мне нужны для подключения к моей базе данных.
Теперь я хочу создать исполняемый файл (.exe) из исполняемого файла JAR с exe4j. Для этого на шаге "Вызов Java" в разделе "Дополнительные параметры" я добавил папку с этими необходимыми библиотеками в качестве "каталога библиотеки".
Теперь я запускаю полученный.exe и мое приложение открывается, но когда я пытаюсь подключиться к моей базе данных (нажав кнопку в моем приложении), это не работает, и я получаю это исключение:
java.lang.ClassNotFoundException: net.ucanaccess.jdbc.UcanaccessDriver
Поэтому очевидно, что он не включил мои необходимые библиотеки.
Как именно я должен продолжить работу в exe4j, чтобы включить несколько библиотек JAR помимо моего реального исполняемого JAR?
1 ответ
По умолчанию файлы JAR добавляются в путь классов из файловой системы с тем же относительным расположением, которое указано в мастере, поэтому исполняемый файл не будет запускаться сам по себе.
exe4j имеет режим "JAR в EXE", в котором все JAR-файлы в пути к классам упаковываются в исполняемый файл. Файлы ресурсов не могут быть упакованы таким образом. Если вам нужны ресурсы, отличные от файлов JAR (например, DLL), вы должны использовать обычный режим и поставлять исполняемый файл вместе со всеми вспомогательными файлами.