SpringBoot项目jar包命令行部署运行时提示“没有主清单属性”问题
问题描述
SpringBoot项目在使用Maven打成jar包后,在命令行中使用命令java -jar .\xxx.jar
运行,提示没有主清单属性!
解决方案
在maven的配置文件pom.xml
中,找到对应结构,添加如下内容
<build>
<!-- 打包插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
注: 此方法在SpringBoot2.3.7.RELEASE
以之前版本均可用,往后的版本一搬不会出现此问题
问题原因
结合网上大部分说法,产生问题的原因通俗易懂的说法就是少东西了,少了类似主类的东西来作为程序启动的入口
所以我们需要设置一下maven的打包插件配置
在此也奉上一个完整可运行的SpringBoot项目jar包的结构图,可自定观察缺少什么
基本结构:
简单说明: