Launch4J exe по-прежнему нужен файл JAR
Launch4j кажется простым в настройке, но после того, как исполняемый файл был сгенерирован, он не запускается из другого места.
Файл jar, используемый для создания модуля запуска, по-прежнему должен находиться в той же папке, что и exe-файл.
Я думал, что это будет завернуть банку в exe и может запустить его из любого места? Я делал это с JSmooth раньше, и это работало хорошо. Но JSmooth больше не поддерживается в Windows 7.
Также не смог найти надлежащей документации для этого.
Что здесь происходит не так.
Спасибо, Шанкар.
2 ответа
Если мы говорим о JAR, содержащем основной класс, то это настраивается: http://launch4j.sourceforge.net/docs.html То, что вы хотите установить, это dontWrapJar для true
, но это значение по умолчанию, поэтому вам пришлось что-то изменить, если это не в EXE. При переключении этого логического значения можно ясно увидеть разницу в размерах (например, в моем случае это 40K без JAR и 56 с включенным 16K JAR, также в Total Commander я могу использовать Ctrl+PgDn для входа в EXE как любой другой ZIP, если у него есть JAR входит в комплект).
В файле POM при использовании com.akathist.maven.plugins.launch4j:launch4j-maven-plugin
У плагина опция названа одинаково - dontWrapJar
, В таком случае jar
Опция должна указывать на встроенный JAR (в цели), потому что он относительно EXE (и оба идет к цели), в большинстве случаев это просто имя JAR. Когда JAR находится рядом с EXE-файлом, запускать EXE-файл необязательно, и его можно удалить, чтобы проверить.
Это ничего не говорит о других зависимостях, для которых есть другие параметры, и если вам нужно все в EXE, чем вам нужно использовать какое-то решение uberjar.
Ваш простой сценарий работает на меня. Единственными опциями, которые мне нужно было заполнить, были Output file, Jar и Min JRE version. Все остальное остается по умолчанию.
Важно, чтобы все ваши внешние библиотеки были упакованы в JAR, а не в папку рядом с сгенерированным JAR. Чтобы добиться этого, выберите опцию "Извлечь необходимые библиотеки в сгенерированный JAR" в Eclipse при экспорте работающего JAR.