Встроить JRE в исполняемый файл Windows?

Предположим, что я хочу распределить JAVA-приложение.

Предположим, что я хочу распределить его как единственный исполняемый файл. Я мог легко создать .jar и с приложением и со всеми его внешними зависимостями в единственном файле (с некоторым взламыванием Муравья).

Теперь предположите, что я хочу распределить его как .exe файл в Windows. Это достаточно легко, учитывая хорошие инструменты там (такие как Launch4j и подобные).

Но предположите теперь, когда я также не хочу зависеть от конечного пользователя, имеющего право JRE (или любой JRE вообще в этом отношении) установленный. Я хочу распределить JRE со своим приложением, и мое приложение должно работать на этом JRE. Достаточно легко создать исполняемый файл установщика Windows и встроить папку со всеми необходимыми файлами JRE в нем. Но затем я распределяю установщик и не однофайловое приложение.

Существует ли способ встроить и приложение и JRE, в .exe файл, действующий как средство запуска приложения (и не как установщик)?

61
задан Jonik 26 April 2010 в 11:03
поделиться

4 ответа

Есть ли способ встроить как приложение, так и JRE , в файл.exe-файл, действующий как средство запуска приложения (а не как установщик)?

Если вам подходит коммерческий инструмент, install4j очень легко решает эту проблему (см. его страницу «Возможности» ). Он может генерировать как программы запуска приложений, так и установщики.

Я бы не хотел слишком много повторяться, поэтому проверьте, например, этот более ранний ответ , где я его подключил (как установщик, но здесь это не имеет большого значения).

Резюме / итоги: install4j может создавать собственные программы запуска .exe, которые абсолютно не зависят от предустановленной JRE (или любых других конкретных библиотек), и предлагает гибкие возможности для объединения (и обнаружения ) JRE.

4
ответ дан 24 November 2019 в 17:25
поделиться

Довольно много вариантов, коммерчески это очень хорошо:

http://www.excelsior-usa.com/jet.html

Есть два ключевых варианта с открытым исходным кодом: GCJ и VMKit

http://gcc.gnu.org/java/ и http://vmkit.llvm.org/

Другие более продолжительные пути будет включать в себя IKVM.NET:

http://www.ikvm.net/

NET JVM, которая может быть статически скомпилирована в EXE

7
ответ дан 24 November 2019 в 17:25
поделиться

JSmooth может сделать это в соответствии с документацией. Я только пробовал без встроенной JRE, но остался очень доволен. Это сценарий с ant, и мы строим на Linux.

http://jsmooth.sourceforge.net/features.php

0
ответ дан 24 November 2019 в 17:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: