Упаковка приложений Java для рабочего стола Windows / Linux - PullRequest
36 голосов
/ 11 августа 2008

Я пишу приложение на Java для настольного компьютера с использованием библиотеки Eclipse SWT для визуализации графического интерфейса. Я думаю, что SWT помогает Java преодолеть самое большое препятствие для принятия на настольном компьютере, а именно предоставляет Java-приложение с согласованным, адаптивным интерфейсом, который выглядит как принадлежащий любому другому приложению на вашем рабочем столе. Тем не менее, я чувствую, что упаковка приложения все еще остается проблемой.

OS X изначально предоставляет простой механизм для упаковки Java-приложений в нативные пакеты приложений, но создание приложения для Windows / Linux, которое не требует от пользователя запуска уродливого пакетного файла или нажатия на .jar, все еще остается проблемой. , Возможно, это не такая проблема в Linux, где пользователь, скорее всего, немного разбирается в технологиях, но в Windows я хотел бы иметь для его запуска обычный .exe.

Кто-нибудь имел опыт работы с инструментами генерации .exe для Java? Я пробовал JSmooth, но у меня были разные проблемы с ним. Есть ли лучшее решение, прежде чем я раскрою Visual Studio и разверну свое собственное?

Редактировать: Возможно, я должен упомянуть, что я не могу потратить много денег на коммерческое решение.

Ответы [ 18 ]

0 голосов
/ 27 марта 2012

Пожалуйста, попробуйте InstallJammer . Лучший из тех, что я когда-либо использовал. Бесплатный и мощный. И достаточно для личного и коммерческого использования.

0 голосов
/ 18 января 2009

Вы можете попробовать наш инструмент, BitRock InstallBuilder . Хотя это нативное приложение, многие наши клиенты используют его для упаковки настольных Java-приложений. Если вы связываете JRE и создаете модуль запуска и т. Д., Пользователю даже не нужно знать, что они устанавливают приложение Java. Он кроссплатформенный, поэтому вы можете создавать установщики для Windows и Mac (а также для Linux, Solaris и т. Д.). Как и инструмент install4j, упомянутый в другом посте, это коммерческий инструмент, , но , у нас есть бесплатные лицензии проекты с открытым исходным кодом и специальные скидки для microISV / малого бизнеса и т. д. просто напишите нам по электронной почте. Также хотелось бы подчеркнуть, что это инструмент установки, поэтому он не будет отвечать вашим потребностям, если вы ищете только один исполняемый файл.

0 голосов
/ 01 августа 2009

В моей компании мы используем launch4J и NSIS для дистрибутива Windows, jdeb для дистрибутива Debian и Java Web Start для общей операционной системы. Это работает довольно хорошо.

0 голосов
/ 13 января 2009

JSMooth очень хорошо работал для нас в производственной среде, где я сначала сгенерировал один jar с использованием one-jar (плагин fat jar для затмения), а затем обернул его JSmooth.

(Обратите внимание, что я хотел получить неинсталляционный дистрибутив одного файла, который может потребовать установки JRE при необходимости).

Это сработало настолько хорошо, что я думал, что никто не использовал его:)

0 голосов
/ 28 октября 2008

Я использовал JSmooth в прошлом, и мне все еще везет. Пользовательский интерфейс довольно глючный, но я использую его только для создания файла конфигурации один раз, а затем я собираюсь из Ant.

Какие у вас проблемы с JSmooth?

0 голосов
/ 12 августа 2008

Еще один вариант, который я рассматривал: вместо того, чтобы писать собственный лаунчер с нуля, Eclipse поставляется с исходным кодом для своего собственного лаунчера, и это, возможно, может быть переназначено для моего приложения.

Жаль, что Sun никогда не включала ничего подобного в JDK.

0 голосов
/ 11 августа 2008

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

0 голосов
/ 16 сентября 2008

Еще один голос за Launch4J, только что сегодня утром написал задание на муравей для интеграции с одним из моих проектов. Кажется, работает очень хорошо

...