2009-12-28 5 views
23

Я использовал эти три инструмента с открытым исходным кодом для упаковки своих java-приложений, но теперь все они выглядят как остатки. Все три являются очень хорошими компонентами программного обеспечения. Какие сейчас варианты? (или использует Java для разработки настольных приложений уже не «горячий» рынок для разработчиков приложений для построения & для поддержки этих инструментов?).Инструменты для упаковки Java - альтернативы для jsmooth, launch4j, onejar

1) exe wrapper: jsmooth - нет новой разработки за 2,5 года - не поддерживает 64 бит. launch4j - нет новой разработки в течение года, поддерживает 64 бит, но вы не можете подписать exe, созданный с помощью start4j, поэтому я предпочитаю jsmooth, но он не поддерживает 64-битный.

2) onejar: Он работает, но не было новой разработки или обновления веб-сайта более чем за 2,5 года. Таким образом, просто хотите перейти на что-то, что поддерживается/иметь план резервного копирования, если он внезапно ломается с новой сборкой Java.

Благодаря Эдгар

+2

См. Http://stackoverflow.com/questions/1276091/installer-generator-written-in-java/1276408#1276408 –

ответ

7

Вы проверили IzPack? Это отличная программа для создания кросс-платформенных инсталляторов:

IzPack - генератор инсталляторов для платформы Java. Он создает легкие инсталляторы, которые можно запускать в любой операционной системе, где доступна виртуальная машина Java. В зависимости от операционной системы его можно запустить с помощью двойного щелчка или простого «java -jar installer.jar» в оболочке. Наиболее распространенное использование - распространять приложения для платформы Java, но вы также можете использовать его для других проектов. Основное преимущество IzPack заключается в том, что он обеспечивает чистый и уникальный способ распространения проекта пользователям с использованием разных операционных систем.

Некоторые действительно известные компании и проекты используют его в течение многих лет (Sun Microsystems, JBoss/RedHat, проект Scala язык, некоторые ObjectWeb/OW2 проекты, XWiki и многое другое). Если это хорошо для них, это должно быть хорошо для вас :)

+3

Проблема в том, что он не предоставляет exe или не устанавливает Java-средство. Я использую Izpack AND JSmooth, Izpack предоставляет установщик, но мне все равно нужно его обернуть в Jsmooth, поэтому его можно запустить без необходимости установки Java. Я также переношу свою программу в другую конфигурацию Jsmooth, и это то, что устанавливает Izpack, поэтому приложение может запускаться как exe. –

1

Maven 2 предоставляет возможность создавать банку, которая содержит все зависимости, как часть своего монтажного плагина. Это в сочетании с конфигурацией плагина jar файла манифеста (и, в частности, установки Main-класса для класса с основным) - это все, что вам нужно для базовой упаковки.

В какой-то мере веб-запуск Java теперь считается лучшим способом распространения приложений Java, а возможность сборки Maven 2 в сочетании с веб-запуском дает вам все, что вам нужно, не проходя через маршрут exe.

+0

Java WebStart не дает хорошего пользовательского интерфейса, если Java не установлен на компьютере. –

+0

@ ThorbjørnRavnAndersen Существует сценарий развертывания JS, который обнаруживает, что Java доступен и предлагает установку: https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/createWebStartLaunchButtonFunction.html – MeTTeO

+0

@MeTTeO Да. На моей предыдущей работе мы опробовали ее назад, но для нас это не сработало. Вы использовали его в производстве? –

1

Если вы просто хотите ех (вместо полномасштабной установки) вы можете сделать один с NSIS: http://nsis.sourceforge.net/Java_Launcher_with_automatic_JRE_installation

Да, NSIS представляет собой инсталлятор, но вы можете иметь его просто запустить баночку в том же директорию, удалив все файлы установщика. В основном это работает как launch4j, но намного более настраиваемо.

6

Поскольку ни один из ответов не были утверждены, и JavaFX 2.2 не было упомянуто выше (не был доступен во время ответов) здесь идет:

JavaFX 2.2 (часть Java Runtime и SDK, так 7u6) позволяет создавать собственный тег exe/dmg/rpm этого тега вместе с полным компонентом RT. Я считаю, что это правильный ответ на ваши нужды, а также официальное решение Oracle.

https://blogs.oracle.com/talkingjavadeployment/entry/native_packaging_for_javafx

+0

Это правильный ответ, но вам нужен Mac для создания собственных пакетов для Mac, поскольку он, вероятно, называет hdiutil для создания DMG файл. Аналогичная проблема возникает и с RPM, поскольку она использует rpmbuild. Посмотрите на мой ответ, я могу использовать любую ОС, поддерживающую Java, для создания RPM, DEB, APP, ... – gouessej

+0

Хорошая точка, @gouessej – akauppi

0

Как я был сыт с последними изменениями безопасности в Java Webstart, я создал свой собственный инструмент, JNDT. Это под GPL.

Он идет дальше предложения akauppi, потому что он позволяет создавать пакеты GNU Linux даже в Mac и Windows :) Я использую его для создания пакета Mac в GNU Linux. На данный момент это всего лишь одна библиотека Ant с несколькими зависимостями, которая позволяет создавать собственные автономные пакеты приложений для GNU Linux, Mac OS X и Windows. Я использую его для шутера от первого лица, и я очень доволен этим. Он объединяет JRE, но он может использовать систему JRE, если вы хотите.

P.S: JNDT может создать собственный установщик Windows в качестве исполняемого файла с NSIS даже в GNU Linux.

Я понимаю, что лицензия GPL не позволяет некоторым разработчикам использовать мой инструмент. В этом случае скорее используйте PackR.

+0

Downvote без объяснений, я вижу, что есть еще некоторые умные ребята здесь ... – gouessej

 Смежные вопросы

  • Нет связанных вопросов^_^