maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh

我们在项目中都会遇到项目打包,可以通过assembly对我们的项目进行打包。
1、首先看一下在打包前的项目文件结构。

maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh_第1张图片

2、在pom.xml中配置assembly插件

 
 
 
 org.springframework.boot
 spring-boot-maven-plugin
 
 
 org.apache.maven.plugins
 maven-compiler-plugin
 
 1.8
 1.8
 
 
 
 org.apache.maven.plugins
 maven-assembly-plugin
 2.4
 
 false
 
 src/main/assembly/assembly.xml
 
 
 
 
 make-assembly
 
 package
 
 assembly
 
 
 
 
 
 

3、在assembly这个目录下新增assembly.xml这个文件


 assembly
 
 
 tar.gz
 

 false

 
 
 src/main/assembly/bin
 /bin
 
 *.sh
 
 
 0755
 

 
 
 src/main/resources
 
 /conf
 
 
 
 ${project.build.directory}
 /lib
 
 *.jar
 
 

 
 
 
 
 lib
 
 

4、点击 assembly:assembly 就能进行打包。

maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh_第2张图片

5、查看打好包的文件

maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh_第3张图片

5、附上start.sh,stop.sh文件

start.sh文件

#!/usr/bin/env bash

#source $(dirname $0)/../../env.sh
SERVERJAR="database-project-0.0.1-SNAPSHOT.jar"
base_dir=$(dirname $0)
cd ..


if [ "$JAVA_HOME" != "" ]; then
 JAVA="$JAVA_HOME/bin/java"
else
 JAVA=java
fi



JAVA_OPTS="-server -Xms32m -Xmx32m -Xmn24m -Xss256K \
-XX:SurvivorRatio=4 -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection \
-XX:CMSInitiatingOccupancyFraction=60 -XX:+PrintGCDateStamps \
-XX:+PrintGCDetails -Xloggc:$base_dir/gc.log"

echo -n "Starting server ..."
 PID=$(ps -ef | grep database-project-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}')
if [ -z "$PID" ]; then
 echo Application is already stopped
else
 echo kill $PID
 kill -9 $PID
fi

echo `pwd`
echo $SERVERJAR
echo $JAVA
echo $JAVA_OPTS
echo $JAVA_DEBUG_OPT

nohup $JAVA $JAVA_OPTS $JAVA_DEBUG_OPT -jar lib/$SERVERJAR > $base_dir/nohup.out &

if [ $? -eq 0 ];then
 # echo -n $! > "$PIDFILE"
 if [ $? -eq 0 ]
 then
 sleep 1
 echo STARTED
 else
 echo FAILED TO WRITE PID
 exit 1
 fi
else
 echo SERVER DID NOT START
 exit 1
fi

stop.sh

#!/usr/bin/env bash


SERVERJAR="database-project-0.0.1-SNAPSHOT.jar"

base_dir=$(dirname $0)

echo -n "Stopping server ..."
 PID=$(ps -ef | grep database-project-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}')
if [ -z "$PID" ]; then
 echo Application is already stopped
else
 echo kill $PID
 kill -9 $PID
fi
exit 0

文件解压运行start.sh文件
脚本意思可以参考

https://www.jb51.net/article/39506.htm

日志可以参考

https://www.jb51.net/article/152599.htm

启动运行参数可以参考

https://www.jb51.net/article/161958.htm

https://www.jb51.net/article/107058.htm

在启动脚本的的时候可能会 ./start.sh 脚本的时候可能会报错

No such file or directory

这是由于在windows下编写的脚本文件,放到Linux中无法识别格式,编辑start.sh和stop.sh脚本文件,set ff=unix 设置为linux下环境

set ff=unix

在这里插入图片描述

查看脚本启动情况

tail -f -n 500 nohup.out

maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh_第4张图片

总结

到此这篇关于maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh的文章就介绍到这了,更多相关maven插件assembly使用springboot启动停止脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(maven插件assembly使用及springboot启动脚本start.sh和停止脚本 stop.sh)