2011-01-29 3 views
2

Теперь, не поймите меня неправильно, я очень компетентный программист, но когда я программирую, я обычно разрабатываю вещи для Интернета, используя языки сценариев, такие как JavaScript, PHP, Python, SQL и т. Д. Если я хочу разработать Java (я относительно опытна в Java), как мне его распространять?Как распространять программное обеспечение на базе Java?

Есть ли хороший способ упаковать Java-программное обеспечение в красивый маленький исполняемый файл, отправить его и запустить? В качестве альтернативы, есть ли какой-либо хороший способ упаковать Java в какой-то установщик и отправить его для установки и запуска?

+0

Ну, вы на самом деле написал ответ в одном из тегов на ваш вопрос. Файлы JAR представляют собой Java-архивы и состоят из группы скомпилированных java-файлов (.class-файлов). Предполагая, что у вас есть один с основным методом внутри него, есть ваш исполняемый файл. Для этого пользователю потребуется JVM для своего компьютера. – Jems

+1

@jerms, большинство программ Java используют библиотечные банки, а затем они становятся сложными. –

+0

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

ответ

4

Я использую Launch4J http://launch4j.sourceforge.net/, он сгенерирует исполняемый файл .exe для Windows, если у целевой системы нет JVM, она сообщит пользователю загрузить и получить JVM.

3

Вы можете упаковать приложения Java в так называемые jar-файлы с помощью инструмента jar или любой компетентной Java IDE. Эти jar-файлы являются автономными и редко нуждаются в установщике.

Эти файлы .jar могут быть легко распространены и исполнены.

Если вы привыкли к веб-разработке, вы также можете быть заинтересованы в технологии Java Webstart.

Некоторые ссылки, чтобы вы начали.

+0

Это, вероятно, будет очень полезно для меня. Я использую Eclipse, и это то, что мне нужно. –

1

Есть несколько способов: один заключается в создании установки, которая позволяет вашему пользователю установить и запустить его. Для этого вы можете взглянуть на NSIS .... или вы можете просто использовать Java Web Start, где ваш пользователь может просто нажать ссылку и запустить приложение.

2

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

+0

Проблема с «слиянием в одной банке» заключается в том, что она теряет любую подписанную информацию о банке и т. Д. Это может быть важно в безопасной среде. –

+0

Интересно - я раньше этого не встречал. Полезно знать - спасибо. – christophmccann

3

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

1) Java WebStart - обеспечивает централизованное распределение и простоту обслуживания, но лучше всего подходит для онлайн-пользователей. Требовать наличия веб-сайта для поиска файлов - в наши дни это легко сделать в Google Application Engine.

2) Завершение Java-программы в одной банке с использованием одной-jar, а затем с помощью jsmooth для создания .EXE-файла, который обеспечивает Java, доступен, извлекает jar-файл и вызывает Java на нем. Это хорошо работает для пользователей не всегда в сети, где вы хотите, чтобы процесс запуска был прозрачным, но он менее прост в обновлении, чем подход webstart.

1

Здесь вы найдете большой набор опций: Open Source Installers Generators in Java
Это очень полезно для «наивного» клиента или пользователя вашего приложения, чтобы сделать процесс установки настолько безболезненным, насколько это возможно. Пусть они устанавливают все необходимое, СУБД, JVM, JMF и дополнительные параметры через один установщик.

1

Вы также можете рассмотреть возможность использования одной из богатых клиентских платформ, доступных для Java. Кривая обучения, вероятно, намного выше, чем просто создание файла jar и отправка его, но вы получите много свободного, когда дело доходит до распространения. (Think Eclipse с автоматическим обновлением через сайт обновления).

Сделайте поиск по «Eclipse RCP» и «Netbeans RCP», и вы найдете здесь двух крупнейших претендентов. Я также выполнил SERACH для «Eclipse RCP установки» и один из хитов кажется интересным:

http://download.instantiations.com/RCPPackagerDoc/integration/latest/docs/html/gettingstarted/GenInstaller.html

+0

Мне, возможно, придется взглянуть на это, потому что я уже использую Eclipse и весь процесс создания баннеров, ну, полностью и полностью отстой. Возможно, что-то подобное. –

+0

ЕСЛИ вы развиваетесь на Java и используете множество библиотек, вы должны проглотить какую-нибудь таблетку для лечения зависимости. Я использую maven 2, и я вполне доволен тем, насколько он может сделать для меня. Кривая обучения для этого также несколько выше, чем просто обычная баночка. – Knubo

+0

Я сделал несколько поисковых запросов о том, как совпадают Maven и Eclipse RCP, и я боюсь, что это может быть не очень хорошо. Я видел несколько статей, в которых говорится о работе в трубах для maven 3 и Eclipse RCP, но я не заглядывал глубоко в это. – Knubo

1

лично мне нравится izpack. Он генерирует установщик файлов jar, который вы можете обернуть в start4j, поддерживает такие вещи, как специальные ярлыки для Windows, очень настраивается через XML и перехватывает непосредственно в муравьи.

OneJar отлично подходит для небольших предметов, но для более крупных программ или приложений он нигде не является гибким, и мой опыт довольно медленный.

1

Здравствуйте, вы можете сделать установщик для вашего приложения.

В приведенной ниже ссылке вы найдете справку об установке izpack.

http://www.imrantariq.com/blog/?p=89

Ссылка ниже содержит подробную PDF, чтобы сделать инсталлятор с IzPack.

http://www.imrantariq.com/blog/?attachment_id=112

веселит

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