需求描述
使用java写好业务逻辑,打成jar包,使用shell命令调用执行该jar包中的某个main方法,可以保存到.sh
文件里供contab
定时调用;
PS: 下面脚本的这种方式不太适合springboot
构建的jar包,比较适合原生java项目打成的jar包
实现代码
#shell执行jar包
#!/bin/bash
#定义常量
JAVA_HOME=/home/jdk1.7.0_79
APP_HOME=/HceBatch/
APP_LIB=/HceBatch/lib
export LANG=utf-8
export JAVA_HOME
export APP_HOME
export APP_LIB
#处理所有的依赖jar
for i in $APP_LIB/*.jar
do
APP_CLASSPATH=$APP_CLASSPATH:$i
done
cd /HceBatch/bin
$JAVA_HOME/bin/java -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=Zh -Xms512m -Xmx2048m -cp ${APP_HOME}bin:./../lib:.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar:${APP_CLASSPATH} org.xxxx.hce.job.HceXxxJob
exit 0