您的位置:首页 > 运维架构 > Shell

shell 脚本启动jar程序

2016-05-12 22:11 746 查看
Linux下启动jar包程序,直接上步骤:

1、首先,maven项目打成一个jar包,同时使用dependency:copy-dependencies命令导出依赖的jar包,把导出的包和项目jar包都放进lib文件夹里

2、编写shell脚本:

#!/bin/bash
export JAVA_HOME=/home/program/java/jdk1.8.0_60              ###jdk安装路径
java=$JAVA_HOME/bin/java

JAVA_OPTS=$JAVA_OPTS:"-Xms1024m -Xmx1024m"
export JAVA_OPTS
SERVER_HOME=/opt/nutch                     ###放置lib文件夹和shell的目录
LIBDIR=$SERVER_HOME/lib

CONFDIR=$SERVER_HOME/conf                  ###可去掉,放置配置文件
export CONFDIR

export LIBDIR
CLASSPATH=${CLASSPATH}:${LIBDIR}
CLASSPATH=${CLASSPATH}:${CONFDIR}:${LIBDIR}

for cdir in ${LIBDIR}/*.jar
do
CLASSPATH=$CLASSPATH:$cdir
export CLASSPATH
done
export CLASSPATH
exec $java com.yaochufa.jframework.nutch.AppStarter $* >logs/stdout.log 2>&1 &                   ###指定启动的程序类

#tail -f /home/yang/program/file/stock_task/logs/stdout.log


可在启动的程序类main方法中加入以下代码:

CountDownLatch latch =new CountDownLatch(1);
latch.await();


3、linux进入目录,赋予shell脚本可执行的权限,执行shell
这时会出现一个错误:-bash: ./nutch.sh: /bin/bash^M: bad interpreter: No such file or directory

主要原因是nutch.sh是我在windows下编辑然后上传到linux系统里执行的。.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。

我们可以通过vi编辑器来查看文件的format格式。步骤如下:

1.首先用vi命令打开文件

Shell代码


[root@localhost test]# vi nutch.sh

2.在vi命令模式中使用 :set ff 命令



可以看到改文件的格式为dos



3.修改文件format为unix

方法一:使用vi修改文件format

命令:set ff=unix



执行完后再通过set ff命令查看文件格式,结果如下:



方法二:直接使用dos2unix命令修改

Shell代码


[root@localhost test]# dos2unix nutch.sh

dos2unix: converting file test.sh to UNIX format ...

修改完后再次执行./test.sh,执行正确:

Shell代码


[root@localhost test]# ./nutch.sh

test shell

参考资料:


什么时候使用CountDownLatch http://www.importnew.com/15731.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: