1.错误信息 demo-0.0.1-SNAPSHOT.jar中没有主清单属性
通常意味着你试图直接运行一个 JAR 文件,但是该 JAR 文件没有指定应用程序的入口点(即没有配置主类)。在 Java 中,JAR 文件需要在其清单(META-INF/MANIFEST.MF
)中指定一个 Main-Class
属性,告诉 JVM 启动哪个类。
可以使用解压工具,打开jar包进行查看
如果你是通过 Maven 构建项目的,你可以在 pom.xml
中指定一个主类(Main-Class
)。打开你的 pom.xml
文件,并添加 maven-jar-plugin
配置,指定你的主类:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifestEntries>
<Main-Class>com.example.demo.DemoApplication</Main-Class> <!-- 请修改为你的主类的完整路径 -->
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.修改 pom.xml
后,重新构建项目:
mvn clean package
3.检查jar包是否补全了配置
4.启动jar包