Подтвердить что ты не робот

Как вы можете упаковать исполняемую банку с помощью портативной JRE?

Я хочу иметь возможность распространять исполняемый JAR без необходимости обновления пользователя до последней версии JRE. Как я могу упаковать JRE в JAR, чтобы они могли запускать банку без установленной JRE в своей системе?

4b9b3361

Ответ 1

Поместите Java Portable в подкаталог и запустите свою банку с помощью пакета / bash script или Launch4j.

Ответ 2

Как вам нужно, чтобы выполнить банку, я боюсь, что это невозможно.

Я когда-то использовал izpack вместе с launch4j, чтобы сделать Windows EXE, который установит jre с моим приложением.

Ответ 3

Десять лет спустя я столкнулся с той же проблемой, и после нескольких дней поиска, по-видимому, до сих пор нет решения, это лучшее, что я нашел:

Объедините Java (JRE) и запустите приложение Java с 7zip SFX: конвертируйте приложения Java в исполняемый файл https://mark.koli.ch/bundle-java-the-jre-and-launch-a-java-app-with-7zip-sfx

Изменить

Я нашел другой способ сделать это, основанный на Inno Setup и NetBeans, он часто появляется в результате поисков по конвертации jar в exe. Все выполняется с помощью собственной упаковки в IDE NetBeans.

В результате получается отдельный установщик .exe(YourProjectName.exe), который создает папку в AppData\Local\YourProjectName. В этой папке вы найдете модуль запуска, который является .exe, а также все необходимые файлы для запуска программного обеспечения без установки Java.

Вы должны использовать точно такие же версии инструментов, о которых говорится в статье, иначе это не сработает, по крайней мере, не для меня. Другая вещь, которая не ясна, - то, что ваш проект должен быть Java с проектом Ant, по крайней мере я не нашел, как сделать это с Gradle или Maven.

Кроме того, мне пришлось установить старую версию i586 Java (я пробовал JDK 1.8 i586, и она работала), потому что JDK 13 вызывает ошибки (пропуски DLL) при попытке запустить программное обеспечение. Хотя я пробовал только с JDK 13 x64, возможно, проблема в архитектуре, а не в версии. Как бы то ни было, подобное происходило с NetBeans 11, средство запуска .exe не работало, однако при поиске и выполнении .jar это работало. Так что я закончил с использованием NetBeans 8.