在项目中看到一个配置:
如图中的这个:
<configuration><skip>true</skip></configuration>
好奇它的作用是啥,测试了一下,当没有注释这个配置时,打包的时候生成的jar包结构如下:BOOT-INF下包括了项目结构包和lib(依赖的代码jar包),最外层还有一个启动加载器类包。
而当注释掉这个配置时,结构如下:
此时所有的依赖包和启动类加载器包都没有了,只有项目代码和配置。
百度了半天无果,便找度娘老公GOOGLE了一下,找到了相关的说明:https://pitest.org/quickstart/maven/,大概说明了这个注解的意思:
配置说明:您可以通过在配置部分上添加参数skip来跳过启动
作用:它在maven模块上非常有用:当您需要跳过整个模块时,您可以在插件的声明中添加这个设置来忽略它。
总结maven-springboot项目打包的过程中跳过jar包发布运行过程,所以只会生产本项目代码相关的包,而不会加入引入和启动类加载器等包,该jar包自然也不能运行。
后续还找到了一些应用场景,都是和spring-boot-maven-plugin打包时生成BOOT-INF插件有关: