在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
shell脚本启动java程序图解
在项目中有个java工程部署在linux上,需要用shell脚本方法启动。
工程结构,如下:
bin下面是编译后java的文件,bat下面是一些启动脚本,bat中的lib中放的是该工程所需要的所有jar包。
shell脚本内容,如下:
大概的步骤:
1,首先,找到java的生存环境,jdk安装目录。
2,其次,把工程依赖的jar包加载进来。
3,通过java命令运行启动的程序。
cur_dir=$(pwd) 加载当前目录,
bin_dir=$(dirname $cur_dir)/bin 加载父级下的bin目录 (当前目录跟bin目录不处在同一层级)
1、加载jdk环境
复制代码代码示例:if [ -d /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre ]
then export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
2、加载java运行命令
复制代码代码示例:if [ -f $JAVA_HOME/bin/java ]
then export JAVA_EXE=$JAVA_HOME/bin/java
3、加载bat子目录lib中的所有jar包
复制代码代码示例:temp=$cur_dir/lib
for file in “$temp”/*.jar
do
path=“$path”:“$file”
done
CLASSPATH=$path:$bin_dir
4、设置要启动的java程序
复制代码代码示例:MAIN_CLASS=cn.cntv.vms.scheduled.sample.runner.MyRunner2
5、通过java命令运行java程序
复制代码代码示例:$JAVA_EXE -classpath $CLASSPATH $MAIN_CLASS &
然后,使用linux sh命令运行run.sh即可,实现java程序的启动脚本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)