首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

起动Java应用的Shell脚本

2014-04-26 
启动Java应用的Shell脚本启动Java应用的Shell脚本?对于Java应用程序(非web应用),在部署后,常常需要一个启

启动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 文件中。&:是将程序作为后台进程来运行,不会因为终端的关闭而关闭。??又或者是下面这种方法?

#!/bin/sh

workdir=`dirname $0`

workdir=`cd ${workdir} && pwd`

echo $workdir

JAR_CP=$workdir/client.jar


for jarfile in $workdir/lib/*.jar;
??????? do? JAR_CP=$JAR_CP:$jarfile
done

LOGGING_PROPS="-Dlog4j.configuration=file:${workdir}/log4j_download.properties"
SYSTEM_PROPS="-Dsystem.configuration=${workdir}/system.properties"

java -classpath $JAR_CP $LOGGING_PROPS $SYSTEM_PROPS com.hundsun.gildata.rptxi.client.IrpClientDownload

?然后运行: nohup ./start.sh &

热点排行