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

Moh*_*sal 5 java linux deployment

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

Dav*_*ton 6

可执行文件格式?

如果您要提供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 "$@"
Run Code Online (Sandbox Code Playgroud)

shell脚本的内容完全取决于您的应用实际需要启动的内容.


Shi*_*gon 2

基本上,您想要放入 .sh 文件中的内容是您通常在控制台中键入以运行 jar 文件的命令。它们应该用新行分隔(即在 .sh 文件中每个都在单独的行上)。

最基本的方法就是在 sh 文件中添加如下内容:

java -Xms=64m -Xmx=256m -jar myJar.jar -classpath [dependencies dir]/dep1.jar,[dependencies dir]/dep2.jar
Run Code Online (Sandbox Code Playgroud)

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

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