Java基础:启动Java应用的Shell脚本的方法
<p >对于Java应用程序(非web应用),在部署后,常常需要一个启动脚本来加载一些第三方的jar包,并启动应用。<p ><p >对于java应用程序,我一般喜欢将程序的目录结构写成如下的方式:<p ><p >myapp<p ><p >|----lib<p ><p >|----bin<p ><p >|----packages<p ><p >一些配置文件和属性文件<p ><p >一个startup.sh、或bat启动脚本<p ><p >其中,packages是程序的根包。其中有子包和class文件等。<p ><p >在包中,有一个Main.calss的类,这个作为程序的入口。<p ><p >下面给出一个最一般的写法:<p ><p >startup.sh #!/bin/sh programdir="."<p ><p >num=$#<p ><p >temp=$CLASSPATH<p ><p >#setting libs path<p ><p >libs=../lib/*<p ><p >append(){<p ><p >temp=$temp":"$1<p ><p >}<p ><p >for file in $libs; do<p ><p >append $file<p ><p >done<p ><p >export CLASSPATH=$temp:.:../:$programdir<p ><p >export LANG=zh_CN<p ><p >nohup java -classpath $CLASSPATH packaages.xxx.yyy.Main &<p ><p >这样,只要按照上面的方式组织程序,启动脚本就需要改动下Main前面的包路径即可。<p ><p >nohup:上面脚本中最后一行前有nohup,这是将程序的输入输出都将附加到当前目录的 nohup.out 文件中。<p ><p >&:是将程序作为后台进程来运行,不会因为终端的关闭而关闭.<p ><p ><P align=right></P><p align="center"></p></p>
页:
[1]