jar没有主清单属性报错解决方案 或 加快maven项目启动速度 < skip >true< /skip > 避坑
- 背景
- 重点关注maven插件 build标签的内容
- 删除配置 < skip >true< /skip > 属性即可
- 如果想加快maven项目测试时的启动速度,添加配置 < skip >true< /skip > 属性即可
背景
项目背景是maven项目。
重点关注maven插件 build标签的内容
build标签 在pom.xml文件的最下方
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<!--应用程序的入口点-->
<mainClass>com.**.**</mainClass>
<!--只可以在测试时添加此属性,目的是为了跳过测试阶段直接打包,加快测试时项目启动速度-->
<!--生产环境打包,记得去掉此属性,否则会导致打包不完整,jar无法运行-->
<!--生产环境打包,记得去掉此属性,否则会导致打包不完整,jar无法运行-->
<!--生产环境打包,记得去掉此属性,否则会导致打包不完整,jar无法运行-->
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
这是我原来的build,maven clean后再 maven package 好几次了,还是报错jar没有主清单属性,查了百度,好多地方都让直接改成他们的maven插件格式。但是我肯定不乐意啊。所以找了半天,我终于找到了问题关键点。
<skip>true</skip>
是spring-boot-maven-plugin插件的配置之一,它的作用是跳过Maven的测试阶段,直接打包。这个配置项通常在开发过程中使用,因为在开发过程中,我们可能会频繁地进行构建和测试,而测试阶段可能会非常耗时。因此,通过设置此属性,我们可以跳过测试阶段,直接进行打包,从而提高构建速度。
需要注意的是,这个配置项只在开发过程中使用,不应该在生产环境中使用。在生产环境中,我们应该尽可能地保证代码的质量和稳定性,因此需要进行充分的测试。删除它就可以完美解决了
删除配置 < skip >true< /skip > 属性即可
所以解决方案,很简单,删除这个属性就可以完美解决了。
如果想加快maven项目测试时的启动速度,添加配置 < skip >true< /skip > 属性即可