在Linux系统上将Java项目部署到客户端

我开发了一个使用Java的项目,现在我已经将它交付给使用Linux的客户端。 任何人都可以告诉我哪个可执行文件格式将被传递,以及如何做到这一点?

那么基本上你想要放在.sh文件中的是你通常在控制台上输入的命令来运行你的jar文件。 他们应该被一个新的行分隔(即每个在.sh文件中的一个单独的行)。

最基本的你可以去添加这样的东西到你的sh文件中:

java -Xms=64m -Xmx=256m -jar myJar.jar -classpath [dependencies dir]/dep1.jar,[dependencies dir]/dep2.jar 

除此之外,你可以做更奇特的东西,比如参数化一些环境变量,从.sh启动时获得命令行argumens,并将它们传递给jar可执行文件等。查找高级内容的“bash脚本”

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-2.html#ss2.1

可执行文件格式?

如果你正在交付一个Java应用程序,给他们一个jar文件(和相关的库)。

提供一个shell脚本来设置它的环境并执行它。

例如,假设我将ROOT_DIR定义为我的应用程序的安装目录,依此类推:

 CLASSPATH="${ADD_JARS}:${CLASSPATH}:${ROOT_DIR}/lib/myApp.jar:\ ${ROOT_DIR}/lib/jibx/jibx-run.jar:\ ${ROOT_DIR}/lib/jibx/xpp3.jar:\ ${ROOT_DIR}/lib/bindings.jar:\ ${ROOT_DIR}/lib/commons-lang-2.0.jar:\ ${ROOT_DIR}/lib/forms-1.0.5.jar" "${JAVACMD}" -Xmx256M -DanyDefsNeeded=foobar -Dbase.dir="${ROOT_DIR}" -cp "${CLASSPATH}" myApp.main.Launcher "$@" 

什么进入shell脚本完全取决于你的应用程序实际需要启动。

一个罐子 如果它不可执行,那么一个脚本(.sh)启动jar。

如果你的应用。 有一个GUI,安装/部署的最佳用户体验可以通过Java Web Start获得 。 请注意,JWS可以部署应用程序。 到Windows,* nix Mac。 并避免生成3个独立(特定于平台)的可执行文件的所有维护困难。

使用Launch4J , IzPack或其他具有跨平台功能的安装程序 ,您可能会有更好的运气。 这可能是比试图了解不同的Linux发行版和shell的错综复杂和特性更好的首选。