Как создать установщик Windows для файла java jar?
Я хочу создать установщик Windows для моего файла jar. Я не хочу устанавливать jre / jdk на целевой компьютер, на который я хочу развернуть.
Я попробовал jpackage (часть Java 14), и у меня это не сработало. Я попробовал следующую команду:
jpackage --input target/ --name my_pkg --main-jar NtbnsProj.jar --main-class myJFrame --type exe --java-options '--enable-preview'
Он создает файл my_pkg-1.0.exe, но я не могу его запустить.
На данный момент я готов попробовать даже сторонние инструменты. Я безуспешно пробовал install4j. Другой веб-сайт, который я нашел, сказал использовать install4j с Inno Setup Compiler. Это было сложнее и тоже не сработало. Я подумал, может, WiX Toolset подойдет.
Если кто-то может предоставить пошаговые инструкции, особенно если решение включает install4j, так как есть много разных шагов, на которых вы можете что-то пропустить. Я использовал более новую версию install4j, и она не соответствовала онлайн-руководствам и видео. Пункты меню значительно изменились. Возможно, мне нужно использовать более старую версию install4j.
См. Мою статью по теме: Как упаковать файл java jar для запуска на Mac без установленной JRE?
Ответы
Дважды убедитесь, что ваше приложение запускается напрямую, затем исправьте все проблемы, прежде чем продолжить:
java -cp NtbnsProj.jar myJFrame
Похоже, что jpackageсработало и сгенерировал ваш установщик my_pkg-1.0.exe. Когда вы запустите my_pkg-1.0.exeпроверку, что у вас есть этот файл, затем запустите его:
C:\Program Files\my_pkg\my_pkg.exe
Если это не удается, повторно запустите jpackage с дополнительными аргументами --win-console --app-version 1.1, это будет сгенерировано my_pkg-1.1.exeс включенной консолью. При повторной установке и запуске C:\Program Files\my_pkg\my_pkg.exeможет появиться полезное сообщение об ошибке, указывающее на настоящую проблему.
Если вы не --app-versionобновляете каждый раз, Windows НЕ будет обновлять существующий выпуск 1.0, или вам придется удалить установку перед повторным применением повторной сборки той же версии my_pkg-1.0.exe. Он просто запускается и останавливается, не предупреждая вас.
См. Этот пост о том, как установить app-ver автоматически.
Я заставил его работать! @DuncG очень помог мне ответить на мой вопрос. У меня была куча дополнительных файлов в каталоге, где находился файл jar, поэтому я просто создал новый каталог и поместил в него только NtbnsProj.jar. Затем я выполнил следующую команду:jpackage --name Test --input . --main-jar NtbnsProj.jar