Чтобы запустить Java-программу, вы можете сделать это без установки JRE, то есть вы можете запустить приложение на компьютере без JRE, мы делаем это каждый день.
Способ состоит в том, чтобы развернуть ваше приложение со встроенным JRE и использовать скрипт (.bar, .sh) для выполнения вашего приложения, используя встроенный JRE. Таким образом, ваше приложение является автономным и не требует внешнего JRE. Вам нужно скопировать всю папку JRE в ваше приложение и начать удалять неиспользуемые файлы, используя метод test-error. Вы также можете уменьшить размеры файлов, удалив ненужные классы, как в rt.jar (вы можете распаковать, удалить неиспользуемые классы и снова заархивировать).
Проблема этого подхода заключается в том, что вы нарушаете политику распространения Oracle / SUN JRE, поскольку распространяете JRE с меньшим количеством файлов. Если приложение предназначено для внутреннего использования, я думаю, что все в порядке, если вы хотите распространять приложение, у вас проблемы.
Другой вопрос, как установить JRE по коду, вы можете попытаться отправить JRE вместе с вашим приложением, используя установщик, чтобы определить, установлен ли JRE, и установить его с идентификатором. В Java-коде это не тривиально, вы можете использовать Runtime
для запуска внешних программ ...
Не полагайтесь на JAVA_HOME
, поскольку в настоящее время он не используется активно.
Пример:
Скажем, имя вашего приложения «A», структура вашей папки может выглядеть следующим образом:
A
|-> Run.bat
|- jre
|- bin
|- lib
|- lib
|-> A.jar
Основным классом вашего приложения является Main.java в пакете a. Ваш Run.bat
может выглядеть как START "" jre\bin\javaw.exe -cp lib\A.jar a.Main
Вы вызываете только внедренный jre в папке jre
, вызывая bin\javaw.exe
и передавая jar и основной класс. Папка jre
может содержать содержимое и всю JRE, скопированные из c:\Program Files (x86)\Java\jre6\
(Windows 7).