如何启动Java应用的Shell脚本

对于Java应用程序(非web应用),在部署后,常常需要一个启动脚本来加载一些第三方的jar包,并启动应用。

对于java应用程序,作者一般喜欢将程序的目录结构写成如下的方式:

myapp 


|----lib 


|----bin 


|----packages 

一些配置文件和属性文件

一个startup.sh、或bat启动脚本

其中,packages是程序的根包。其中有子包和class文件等。

在包中,有一个Main.calss的类,这个作为程序的入口。

下面给出一个最一般的写法:

startup.sh #!/bin/sh programdir="." 


num=$# 


temp=$CLASSPATH 


#setting libs path 


libs=../lib/* 


append(){ 


temp=$temp":"$1 


} 


for file in $libs; do 


append $file 


done 


export CLASSPATH=$temp:.:../:$programdir 


export LANG=zh_CN 


nohup java -classpath $CLASSPATH packaages.xxx.yyy.Main & 

这样,只要按照上面的方式组织程序,启动脚本就需要改动下Main前面的包路径即可。

nohup:上面脚本中最后一行前有nohup,这是将程序的输入输出都将附加到当前目录的 nohup.out 文件中。

&:是将程序作为后台进程来运行,不会因为终端的关闭而关闭.

添加新评论