繁体   English   中英

在Linux系统上部署Java项目

[英]Deploying a Java project on Linux system

我使用Java开发了一个项目,现在我将它提供给使用Linux的客户端。 将交付哪种可执行文件格式以及如何制作?

可执行文件格式?

如果您要提供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。

基本上你想放在.sh文件中的是你通常在控制台上键入的命令来运行你的jar文件。 它们应该用新行分隔(即每个行都在.sh文件中的一行中)。

你可以去的最基本的东西是你的sh文件:

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

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

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

使用Launch4JIzPack或其他具有跨平台功能的安装程序可能会更好。 这可能是比尝试理解不同Linux发行版和shell的复杂性和特性更好的第一选择。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM