这个错误通常是由于生成的 JAR 文件缺少一个名为 Main-Class
的主清单属性引起的。主清单属性用于指定可执行 JAR 文件的主类,以便 Java 运行时知道从哪个类的 main
方法开始执行。
可能的原因一:
主类位置错误。
可能的原因二:
skip
属性被设置为 true
,这会导致 Maven 在构建时跳过 Spring Boot 插件的执行。
要解决这个问题,可以在 Maven 的 pom.xml
文件中添加一个插件,以确保在打包时正确设置主清单属性。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.example.thymeleaf.ThymeleafApplication</mainClass>
<skip>false</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<mainClass>com.example.thymeleaf.ThymeleafApplication</mainClass>
代表你的启动类位置
<skip>false</skip>
这行可以删除,也可以保留
重新打包后问题解决。