启动Java应用的Shell脚本

启动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 文件中。
&:是将程序作为后台进程来运行,不会因为终端的关闭而关闭。
 

本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/204713,如需转载请自行联系原作者
上一篇:Java开发必知道的国外10大网站


下一篇:Java线程监听,意外退出线程后自动重启