Как сделать программу Java устанавливаемой? - PullRequest
11 голосов
/ 19 апреля 2011

Как я могу сделать устанавливаемую Java-программу?

У меня есть приложение, сохраненное в моей рабочей области Eclipse.

Я могу экспортировать его как файл .jar.

Это для приложения "реального мира".

Как я могу экспортировать в файл ".exe" или ".dmg", чтобы его можно было установить на другую машину?

Поскольку Java не зависит от платформы, я думаю, что это вопрос экспорта для конкретной операционной системы.

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

Ответы [ 6 ]

9 голосов
/ 19 апреля 2011

Полагаю, вы ищете не только сделать программу работоспособной (как предложено lobster1234), но и сделать ее фактически устанавливаемой. Недавно мы использовали IzPack . Это на самом деле выглядит красиво.

Есть также несколько хороших уроков по деталям здесь и здесь

4 голосов
/ 19 апреля 2011

Jar-файлы, как правило, подходят для этого, поскольку JVM может напрямую выполнять упакованные файлы с помощью команды java -jar <jarfile>. Java WebStart хорош, если вы хотите распространять свое приложение с веб-сайта и т. Д. Однако в некоторых ОС эта «функция» не установлена, даже если есть JVM. Другое решение состоит в том, чтобы иметь как минимум 3 сценария для запуска приложения (пакет для Windows, сценарий оболочки для Linux и все, что нужно Mac - извините, у вас нет Mac -).

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

2 голосов
/ 19 апреля 2011

Я рискую огненной войной, но я играю :) Если вы не находитесь на платформе, где JRE уже существует (например, OS X), это будет хлопотом для вас и / или конечных пользователей. Проблема в том, что Java-приложения просто не являются автономными и зависят от массивной среды.

JRE, Java Web Start или все, что вы используете, должно быть помещено в целевую систему. Также у вас должен быть какой-то лаунчер. Это может быть что-то такое же простое, как скрипт, который запускает java, предоставляет путь к классам и т. Д. Это не понадобится, если java «скомпилирован» в .exe или что-то в этом роде, но это просто так.

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

1 голос
/ 30 декабря 2015

Начиная с Java 8, jdk теперь может генерировать свои собственные Устанавливаемые для Windows, OSX и Linux. Однако в Windows это зависит от Inno Setup 5 или более поздней версии, либо от WiX 3.0 или более поздней.

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1324980

Самым простым способом создания автономного приложения является изменение задачи развертывания. <fx:deploy width="${javafx.run.width}" height="${javafx.run.height}" nativeBundles="all" outdir="${basedir}/${dist.dir}" outfile="${application.title}"> <fx:application name="${application.title}" mainClass="${javafx.main.class}"/> <fx:resources> <fx:fileset dir="${basedir}/${dist.dir}" includes="*.jar"/> </fx:resources> <fx:info title="${application.title}" vendor="${application.vendor}"/> </fx:deploy>

0 голосов
/ 19 мая 2011

Ребята уже дали вам много вариантов, поэтому я не хочу упоминать их снова. Единственный вариант, который здесь отсутствует, - это тот случай, когда вам действительно необходимо установить программу, то есть выполнить некоторую логику, изменить (или хотя бы прочитать) конфигурацию системы, создать ярлыки на рабочем столе, скопировать множество файлов, настроить сторонние продукты ( уже установлено) и т. д.

В этом случае вы можете использовать InstallAnywere, EzPack или аналогичные решения (см. http://java -source.net / open-source / installer-generators ) Например, если ваш проект относительно прост, я бы порекомендовал вам AntInstaller.

Кстати, если вы боитесь, что ваш клиент, вероятно, не установил JRE на своем компьютере, вы можете упаковать свой код (или лучше загрузчик) с помощью Launch4J, который генерирует исполняемый файл из вашего кода Java.

0 голосов
/ 19 апреля 2011

Вы можете использовать Java WebStart или упаковать программу как исполняемый файл jar .

...