我有一个 Java 应用程序符合我想在 Ubuntu 和 SuSE 上安装的 jar 集合。我希望安装程序能够检查 JRE、注册文件关联并能够在卸载时加载网站。
我了解 Ubuntu 和 SuSE 基于不同的架构,那么有没有一致的方法来做到这一点?
有没有人对使用实用程序或阅读指南有建议,以帮助我实现我想要做的事情。
我有一个 Java 应用程序符合我想在 Ubuntu 和 SuSE 上安装的 jar 集合。我希望安装程序能够检查 JRE、注册文件关联并能够在卸载时加载网站。
我了解 Ubuntu 和 SuSE 基于不同的架构,那么有没有一致的方法来做到这一点?
有没有人对使用实用程序或阅读指南有建议,以帮助我实现我想要做的事情。
为每个平台分发一个deb
和rpm
将为 IMO 提供最佳的用户体验和系统集成(检查 JRE 依赖关系、注册文件关联等)。对于基于 debian 的发行版,请查看为 Ubuntu 打包 Java 应用程序(此处提供幻灯片)。要构建一个rpm
,请查看RPM Howto或OpenSUSE 的开发和打包 Java 软件。
如果您不想为每个平台构建软件包,我建议分发安装程序,例如使用IzPack。该工具允许生成独特的跨平台安装程序,提供本地集成,高度可定制,涵盖卸载部分,并且安装程序的生成可以轻松包含在自动构建(基于 Ant 或 Maven)中。这真是一个不错的工具。它有重要的参考资料(Sun Microsystems、JBoss/RedHat、Scala 语言项目、一些 ObjectWeb/OW2 项目、XWiki 等)。
试试这个。此安装程序适用于大多数 Linux 发行版。
将您的 jar 文件插入 .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 文件(必须标记为可执行文件)
我希望这对任何人都有帮助。
如果您不想疏远用户,请做任何您需要做的事情,让用户使用该发行版的本地工具管理您的包(请参阅 Pascal Thivent 的回答)。对于 Ubuntu 和 SUSE,这意味着 deb 和 rpm 包。
作为用户,每当我需要使用自己的安装程序安装软件包时,我都会立即感到恼火。
您可以使用BitRock InstallBuilder,它允许您创建 GUI 安装程序、RPM 和 DEB 包。它可以执行您指定的操作(文件关联、启动网页等)。它是商业的,但我们为开源项目提供免费许可证,为小公司提供折扣
如果您正在寻找 GUI 安装程序,请查看InstallJammer 。否则,您可能会考虑为每个平台构建一个单独的本机安装程序。SuSE 和 DEB for Ubuntu 中的 RPM。InstallJammer 可以为您提供一个 GUI,如果您愿意,还可以在每个系统上注册本机包管理器。
我同样需要将 Java 应用程序打包为 Debian/Ubuntu deb 存档,但没有找到合适的指南,所以当我成功创建 deb 存档时,我编写了自己的指南。
基本上,我所做的是创建一个 Bash 脚本,在文件层次结构中安排 .class 文件等,为 .deb 存档做好准备,编写一个可执行脚本来启动打包的程序,处理 .desktop 文件以进行 GUI 处理,然后运行dpkg --build 在整个事情上。此外,重要的一步是对生成的 .deb 文件运行 lintian -i 以确保您遵守所有标准和政策。