【坑】spring-boot-maven-plugin的executable配置

问题描述

近日将Spring Boot搭建的项目通过公司统一部署平台部署到生产环境后,出现了部署时项目启动日志不存在的问题。
结果:项目启动失败。


自查过程

  1. 下载编译好的预发包到本地,内容如下图,经检查,包的内容完全正确。
    【坑】spring-boot-maven-plugin的executable配置
    image.png
  2. 接下来申请堡垒机登录权限,登录到容器中,内容如下图:
    【坑】spring-boot-maven-plugin的executable配置
    image.png

结果:发现容器中WAR包解压后的内容基本没有了,只剩下部署平台上配置覆盖的配置文件了。有可能是 WAR包解压 的时候出现了问题。


求助过程

  1. 向部署平台部门的同事求助后,回复内容如下:
    【坑】spring-boot-maven-plugin的executable配置
    image.png
  2. 看了下项目的pom.xml,内容如下:
    【坑】spring-boot-maven-plugin的executable配置
    image.png

     

果然!spring-boot-maven-plugin 插件的 excutable 配置没有设置为 false!!!

结果:修改为false后,重新编译,构建镜像,部署,项目启动成功。问题成功解决!


问题深入分析

  1. spring-boot-maven-plugin插件的excutable配置是干啥用的?
【坑】spring-boot-maven-plugin的executable配置
image.png

即,如果将这个配置设置为 true,打包出来的 jar/war 就是 可执行 的了,可以用如下方式执行:

【坑】spring-boot-maven-plugin的executable配置
image.png
  1. 为啥配置为true后解压WAR包的时候就会失败?
    Spring Boot官网上面文档如是说:
【坑】spring-boot-maven-plugin的executable配置
image.png

完全可执行jar/war 在文件前面嵌入了个 额外的脚本,这就使得有些命令会执行失败,比如 jar -xf 等。
查看统一部署平台在构建镜像时的日志,如下图,发现就使用了这个命令,所以WAR包就会解压失败!!!

【坑】spring-boot-maven-plugin的executable配置
image.png

 


总结

大家将Spring Boot项目打包部署,如果使用 jar -xf 等解压命令,一定要注意
springboot的maven插件 spring-boot-maven-pluginexecutable 配置一定要设置为 false !!!
不然会解压失败!

作者:HelloLittleRain
链接:https://www.jianshu.com/p/a86cc523ad5d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

weinxin
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
Igor
  • 版权声明: 发表于 2024-01-3105:57:08
  • 转载注明:http://blog.tsingmac.com/prolions/codelanguage/javaandspringboot/6363/
aliyun Maven 配置 Java & SpringBoot

aliyun Maven 配置

maven 配置指南 打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml ),在<mirrors></mirror...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: