用于Ubuntu和SuSE的Java应用程序的Installer / packager

时间:2010-01-06 20:16:27

标签: java linux ubuntu installer suse

我有一个Java应用程序,符合我想在Ubuntu和SuSE上安装的jar集合。我希望安装程序能够检查JRE,注册文件关联并能够在卸载时加载网站。

我知道Ubuntu和SuSE基于不同的架构,所以有一致的方法吗?

是否有人对使用的实用程序或指导阅读提出建议,以帮助我实现我正在尝试的目标。

6 个答案:

答案 0 :(得分:9)

为每个平台分发debrpm将为IMO提供最佳用户体验和系统集成(检查JRE依赖关系,注册文件关联等)。对于基于debian的发行版,请查看Packaging Java Apps for Ubuntu(幻灯片可用here)。要构建rpm,请查看RPM HowtoDevelopment and Packaging Java Software for openSUSE

如果您不想为每个平台构建软件包,我建议您分发一个安装程序,例如IzPack。此工具允许生成唯一的cross-platform安装程序,提供native integration,高度customizable,涵盖uninstall部分,并且安装程序的生成可以轻松地包含在自动化中build(基于Ant或Maven)。这真是一个不错的工具。它有严重的references(Sun Microsystems,JBoss / RedHat,Scala语言项目,一些ObjectWeb / OW2项目,XWiki等)。

答案 1 :(得分:3)

试试这个。此安装程序适用于大多数Linux发行版。

插入.tar.gz存档您的罐子。如果你想在程序菜单上创建一个菜单条目,创建一个“你的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 :(得分:2)

您可以使用BitRock InstallBuilder,它允许您创建GUI安装程序,RPM和DEB包。它可以做你指定的(文件关联,启动网页等)它是商业的,但我们有开源项目的免费许可和小公司的折扣

答案 3 :(得分:2)

如果您不想疏远用户,请执行您需要做的任何事情,让用户使用该分发的本机工具管理您的软件包(请参阅Pascal Thivent的答案)。对于Ubuntu和SUSE,这意味着deb和rpm包。

作为用户,每当我需要使用自己的安装程序安装软件包时,我立即感到烦躁。

答案 4 :(得分:1)

如果您正在寻找GUI安装程序,请查看InstallJammer。否则,您可以考虑为每个平台构建单独的本机安装程序。对于Ubuntu,SuSE和DEB的RPM。如果您愿意,InstallJammer可以为您提供GUI并在每个系统上注册本机包管理器。

答案 5 :(得分:0)

我有同样需要将Java应用程序打包为Debian / Ubuntu deb存档但没有找到合适的指南,所以当我成功创建deb存档时,我写了a guide of my own

基本上,我所做的是创建一个Bash脚本,在文件层次结构中安排.class文件等,准备好.deb存档,编写可执行脚本以启动打包程序,处理用于GUI处理的.desktop文件,然后在整个事情上运行dpkg --build。此外,重要一步是在生成的.deb文件上运行lintian -i,以确保您遵守所有标准和策略。