Раздайте мою аппликационную банку с JRE - PullRequest
9 голосов
/ 29 июля 2011

Как я могу распространить свой jar-файл приложения с JRE?Я делаю свой исполняемый jar в exe, используя launch4j.

Мое приложение является настольным свинг-приложением.Я хочу сделать его похожим на приложение, которое, если у пользователя нет установленной JRE, может использовать его, используя встроенную JRE.Я даю JRE с приложением и использую его.Деинсталляция приложения и JRE будут деинсталлироваться как игры.

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

Пожалуйста, дайте определенный ответ.Я предпочту, если ваш ответ основан на launch4j.

Ответы [ 4 ]

5 голосов
/ 29 июля 2011

Как вы распространяете свое приложение? У вас есть установщик?

Если у вас есть установщик, вы можете связать с ним любой jre и настроить launch4j для его использования.

Что я сделал, чтобы воссоздать ваш вариант использования:

  1. Создать каталог, например, C: \ temp Скопируйте мой jdk из C: \ Program Files \ Java \ jdk1.6.0_23 в C: \ temp \ myownjdk1.6.0_23. Настроить
  2. launch4j для использования моего JDK: на вкладке JRE введите «myownjdk1.6.0_23» как
  3. Связанный путь JRE, и я настроил «Использовать только частные среды выполнения JDK» - хотя я не уверен, действительно ли это необходимо.

Я использовал JDK, но я уверен, что вы можете сделать то же самое с JRE. Кроме того, я почти уверен, что вы должны (или можете) использовать относительные пути для своего пакета (как я).

Это мой файл конфигурации:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>C:\temp\demoapp.jar</jar>
  <outfile>C:\temp\thing.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir></chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <customProcName>false</customProcName>
  <stayAlive>false</stayAlive>
  <manifest></manifest>
  <icon></icon>
  <jre>
    <path>myownjdk1.6.0_23</path>
    <minVersion></minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>jdkOnly</jdkPreference>
  </jre>
</launch4jConfig>
2 голосов
/ 29 июля 2011

Лучшая стратегия - запустить приложение. используя Java Web Start . Используйте deployJava.js, чтобы убедиться, что доступна подходящая минимальная версия Java. Возможно, у пользователя уже установлена ​​подходящая JRE (поэтому загрузка не требуется), и он будет там для других приложений и апплетов Java, когда они решат удалить приложение.

Это не соответствует некоторым из ваших заявленных требований, но в целом это превосходный вариант.

1 голос
/ 09 августа 2011

Вы также можете проверить BitRock InstallBuilder .

Мы обеспечиваем очень хорошую поддержку Java - как обнаружение, если она существует, так и простое включение JRE и сборку бинарного файла запуска.

Более подробную информацию можно найти здесь: http://installbuilder.bitrock.com/docs/installbuilder-userguide/ar01s17.html#_bundling_a_jre

И файлы компонентов Java / JRE: http://installbuilder.bitrock.com/java/

С файлами по ссылке выше это так же просто, как установитьнесколько переменных в вашем проекте, и установщик будет работать.

Это не бесплатно, но если ваш проект с открытым исходным кодом, вы можете подать заявку на бесплатную лицензию с открытым исходным кодом, которую вы можете использовать для создания установщиков для вашего приложения.

Отказ от ответственности: я являюсь одним из разработчиков BitRock InstallBuilder, поэтому я предвзят.

0 голосов
/ 07 апреля 2015

Я создал свою собственную версию launch4j, которая позволяет загружать и устанавливать необходимую JRE автоматически - без присмотра - (он показывает ход загрузки, пока нет прогресса при установке и нет возможности загрузить установщик JRE в другой каталог, кроме установщика).рабочий каталог - могу добавить эту функциональность, если кому-то это интересно).Просто перейдите на вкладку "JRE" launch4j, чтобы установить параметры.Кроме того, это только для установки графического интерфейса, а не для консоли на данный момент.Здесь вы можете получить это: https://github.com/maztan/launch4j_auto_jre_download

...