spring boot打包部署问题解决

阅读更多

基于Maven打包部署spring boot项目,在网上大部分都是:


            org.springframework.boot
            spring-boot-maven-plugin
            
                true
                ${start-class}
            
              
                
                  
                    repackage
                  
                
            
        

问题是打包后整个项目是jar,它所依赖的其它jar也会包含进去,导致整个项目很大,每次更新项目都得整个jar包更新,很麻烦。

那有没有一种方式是把项目依赖的jar单独出来?在部署更新项目时,只需要更新项目自身代码,不用更新依赖包。

项目jar包解压出来后的目录结构:

spring boot打包部署问题解决_第1张图片

 

解决方法就是,在pom中改用以下配置:


		   org.springframework.boot
		   spring-boot-maven-plugin
		   
		      ZIP
		      true
		   
		

 打包后得到的项目tboot.jar,拷贝lib出来,然后直接从jar中删除lib及目录下的依赖包

spring boot打包部署问题解决_第2张图片

 

这样得到我们的业务代码,部署到Linux服务器上,lib依赖包单独存放:

 

启动项目的命令:java -Dloader.path="lib/" -jar tboot.jar

项目正常运行

另外附上后台后台启动的方式,已经编写好shell脚本startup.sh(该脚本文件跟项目tboot.jar放同一目录下):

#!/bin/sh
#功能简介:启动上层目录下的jar文件
#参数简介:
#    $1:jar文件名(包含后缀名)
#    注意:jar文件必须位于startup.sh目录的上一层目录。

#启动参数
JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true"

jar_name=$1
this_dir="$( cd "$( dirname "$0"  )" && pwd )"
parent_dir=`dirname "${this_dir}"`
log_dir="${parent_dir}/logs"
log_file="${log_dir}/catalina.out"
jar_file="${jar_name}"
#依赖包目录(相对路径)
lib_dir="lib/"

#参数个数<1或者参数空值时,中断执行
if [ $# -lt 1 ] || [ -z $1 ]; then
    echo -e "\033[31m请输入要部署的jar包名称!\033[0m"
    exit 1
fi

#日志文件夹不存在,则创建
if [ ! -d "${log_dir}" ]; then
    mkdir "${log_dir}"
fi

#父目录下jar文件存在
if [ -f "${jar_file}" ]; then
    #启动jar包;重定向标准错误输出到文件,丢掉标准输出
    java $JAVA_OPTS -Dloader.path=${lib_dir} -jar ${jar_file} 1>/dev/null 2>"${log_file}" &
    exit 0
else
    echo -e "\033[31m${jar_file}文件不存在!\033[0m"
    exit 1
fi

 

补充:Maven打可执行Jar包的插件配置(基于Dubbo)

spring boot打包部署问题解决_第3张图片

spring boot打包部署问题解决_第4张图片

  • spring boot打包部署问题解决_第5张图片
  • 大小: 12.3 KB
  • spring boot打包部署问题解决_第6张图片
  • 大小: 11.5 KB
  • spring boot打包部署问题解决_第7张图片
  • 大小: 2.3 KB
  • spring boot打包部署问题解决_第8张图片
  • 大小: 64.1 KB
  • spring boot打包部署问题解决_第9张图片
  • 大小: 60.1 KB
  • 查看图片附件

你可能感兴趣的:(spring,boot,部署)