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包的结构图,可自定观察缺少什么
基本结构:
image

简单说明:
image

posted @ 2022-05-02 18:04  南城小友  阅读(687)  评论(0编辑  收藏  举报