Установщик / упаковщик для приложения Java для Ubuntu и SuSE - PullRequest
6 голосов
/ 06 января 2010

У меня есть приложение Java, совместимое с набором jar-файлов, которые я хочу сделать устанавливаемыми на Ubuntu и SuSE. Я хочу, чтобы установщик мог проверить JRE, зарегистрировать файловую ассоциацию и иметь возможность загружать веб-сайт при деинсталляции.

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

У кого-нибудь есть советы по использованию утилит или руководства для чтения, чтобы помочь мне достичь того, что я пытаюсь сделать.

Ответы [ 6 ]

9 голосов
/ 07 января 2010

Распределение deb и rpm для каждой платформы обеспечит IMO лучший пользовательский опыт и системную интеграцию (проверка зависимости JRE, регистрация ассоциации файлов и т. Д.). Для дистрибутива на основе Debian посмотрите Упаковка Java-приложений для Ubuntu (слайды доступны здесь ). Чтобы создать rpm, взгляните на RPM Howto или Программное обеспечение для разработки и упаковки Java для openSUSE .

Если вы не хотите собирать пакеты для каждой платформы, я бы предложил распространить установщик, например, с IzPack . Этот инструмент позволяет сгенерировать уникальный кроссплатформенный установщик, обеспечивает встроенную интеграцию , очень настраивается , покрывает uninstall и Поколение установщика может быть легко включено в автоматическую сборку (на основе Ant или Maven). Это действительно хороший инструмент. И у него есть серьезные ссылки (Sun Microsystems, JBoss / RedHat, языковой проект Scala, некоторые проекты ObjectWeb / OW2, XWiki и т. Д.).

3 голосов
/ 08 января 2011

Попробуй с этим. Этот установщик работает с большинством дистрибутивов Linux.

Вставьте в архив .tar.gz ваши банки. если вы хотите создать пункт меню в меню «Программы», создайте файл «YOUR PROGRAM.desktop» и поместите этот скрипт в этот

[Desktop Entry]
Comment=YOUR COMMENT
Name=YOUR PROGRAM
#(Must same as .desktop file's name)
Exec=java -jar "(Path to Extracted folder)/myapp.jar"
Terminal=false
Type=Application
Icon=(Path to Extracted folder)/myapp.png
Categories=Development

ОК, теперь вы также можете поместить его в архив .tar.gz.

Теперь вам нужно создать файл "install.sh" (имя файла не важно, он также работает без расширения - .sh)

Вот код

#!/bin/bash
if which java >/dev/null; then<
sudo tar xvfz YOUR PROGRAM.tar.gz -C /opt #(Path for Extract Files)
mkdir ~/.local/share/applications
sudo tar xvfz DESKTOP.tar.gz -C ~/.local/share/applications
echo "Program installed.!"
else
    echo "JRE Not Installed..!"
fi
read
exit

Соберите все 3 файла в одну папку, затем запустите файл install.sh (должен быть помечен как Исполняемый)

Я надеюсь, что это будет полезно для любого.

2 голосов
/ 21 января 2010

Если вы не хотите отталкивать пользователей, делайте все, что вам нужно, чтобы позволить пользователю управлять вашим пакетом с помощью инструментов, встроенных в этот дистрибутив (см. Ответ Паскаля Тивента). Для Ubuntu и SUSE это означает пакеты deb и rpm.

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

2 голосов
/ 21 января 2010

Вы можете использовать BitRock InstallBuilder , он позволяет создавать программы установки с графическим интерфейсом, пакеты RPM и DEB. Он может делать то, что вы указали (ассоциации файлов, запуск веб-страниц и т. Д.). Он коммерческий, но у нас есть бесплатные лицензии на проекты с открытым исходным кодом и скидки для небольших компаний

1 голос
/ 06 января 2010

Посмотрите на InstallJammer , если вы ищете установщик с графическим интерфейсом. В противном случае вы можете рассмотреть возможность создания отдельного собственного установщика для каждой платформы. RPM в случае SuSE и DEB для Ubuntu. InstallJammer может предоставить вам графический интерфейс, а также зарегистрироваться при помощи собственного менеджера пакетов в каждой из этих систем, если хотите.

0 голосов
/ 01 марта 2013

У меня была такая же потребность в упаковке Java-приложения, как и в Deb-архиве Debian / Ubuntu, но я не нашел подходящего руководства, поэтому, когда мне удалось создать Deb-архив, я написал собственное руководство .

По сути, я создал сценарий Bash, который упорядочивает файлы .class и т. Д. В файловой иерархии, готовой для архива .deb, пишет исполняемый сценарий для запуска упакованной программы, обрабатывает файл .desktop для обработки графического интерфейса, и затем запустите dpkg --build для всего этого. Также, важный шаг, запустите lintian -i для полученного файла .deb, чтобы убедиться, что вы придерживаетесь всех стандартов и политик.

...