如何在Linux服务器上启动Java应用,本篇文章的主要内容包括:
1.maven打包jar
2.应用文件夹目录结构
3.启动文件start.sh的编写
ps:
参考地址:http://blog.csdn.net/yang3wei/article/details/7961336
1.运行maven install 生成对应的jar文件,例如quartz.jar
2.运行mvn dependency:copy-dependencies -DoutputDirectory=target/libs导出依赖包
注意:
maven生成jar的时候可以过滤掉配置文件,为了将配置文件和jar包分离,方便后期修改配置
文件目录结构:
-quartz
--bin
---start.sh
--libs
---*.jar
--conf
---*.xml
---*.properties
quartz:项目根目录
bin:启动文件
libs:依赖的jar包和打包好的jar
conf:项目的配置文件
#!/bin/sh
JAVA_OPTS="-Duser.timezone=GMT+8 -Xms256m -Xmx512m"
APP_HOME=/tmp/quartz
APP_MAIN=com.wqw.study.quartz.practice.Main
echo "$APP_HOME"/libs/
for tradePortalJar in "$APP_HOME"/libs/*.jar;
do
CLASSPATH="$CLASSPATH":"$tradePortalJar"
done
for config in "$APP_HOME"/conf/*;
do
CLASSPATH="$CLASSPATH":"$config"
done
echo $CLASSPATH
tradePortalPID=0
getTradeProtalPID(){
javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
if [ -n "$javaps" ]; then
tradePortalPID=`echo $javaps | awk '{print $1}'`
else
tradePortalPID=0
fi
}
startup(){
getTradeProtalPID
echo "===================="
if [ $tradePortalPID -ne 0 ]; then
echo "$APP_MAIN already started(PID=$tradePortalPID)"
echo "======================="
else
echo -n "Starting $APP_MAIN"
nohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAIN &
getTradeProtalPID
if [ $tradePortalPID -ne 0 ]; then
echo "(PID=$tradePortalPID)...[Success]"
echo "====================="
else
echo "[Failed]"
echo "==========="
fi
fi
}
startup