解决SpringBoot打包jar运行时提示没有主清单属性问题

问题描述

在使用SpringBoot进行项目开发时,我们通常会将项目打包成一个可执行的jar文件进行部署和运行。然而有时候在运行打包后的jar文件时,会出现"no main manifest attribute"的错误提示,导致无法正常运行。

解决方法

解决这个问题的方法有两种:

1. 使用插件自动生成MANIFEST.MF文件。

在pom.xml文件中,添加如下配置:

<build>
    <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>你的主类路径</mainClass>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

在配置文件中,`你的主类路径`需要替换成你的SpringBoot项目中的主类的全路径名称。

2. 手动创建MANIFEST.MF文件。

在META-INF目录下,创建一个名为MANIFEST.MF的文件,并在其中添加如下内容:

Main-Class: 你的主类路径

同样需要将`你的主类路径`替换成你的SpringBoot项目中的主类的全路径名称。

效果验证

完成以上的配置操作后,重新打包项目并运行jar文件,应该就不再会出现"no main manifest attribute"的错误提示,可以正常运行了。