springboot轻量部署方案
背景:jar包启动时,由于依赖较多,包过大,重启耗时较多
需求:服务快速启动、资源分类部署
方法:
一、新建一个springboot项目,随便引入一些依赖
二、使用插件(maven-assembly-plugin)
maven-assembly-plugin 2.6 ${project.build.finalName} false src/main/assembly.xml make-assembly package single
三、配置打包形式、脚本
1、shutdown.sh
#!/bin/sh basepath=$(cd `dirname $0`; pwd) serviceName=`head -n 1 ${basepath}/sname.cfg` processName=$serviceName pkill -f $processName
2、sname.cfg
packagedemo
3、startup.sh
#!/bin/sh #echo "当前目录:" `pwd` basepath=$(cd `dirname $0`; pwd) #echo "脚本文件所在目录:${basepath}" serviceName=`head -n 1 ${basepath}/sname.cfg` processName=$serviceName commandFile=$basepath/$processName if [ ! -f $commandFile ]; then ln -s $JAVA_HOME/bin/java $commandFile fi cd $basepath cd .. #echo "命令文件:${commandFile}" jarFile=`ls *.jar` #echo $jarFile $commandFile -jar $jarFile &
4、assembly.xml
<?xml version="1.0" encoding="UTF-8"?>0755 assembly tar.gz dir true src/bin bin src/main/resources config ** ${project.build.directory} *.jar lib runtime ${groupId}:${artifactId}
四、maven打包