springboot程序打成jar包执行报错:
C:\Users\Tolfin>java -jar E:\Code\java\py2j-test\target\py2j-test-0.0.1-SNAPSHOT.jar
E:\Code\java\py2j-test\target\py2j-test-0.0.1-SNAPSHOT.jar中没有主清单属性
如果设置 <skip>true</skip>
导致运行报错,提示 "E:\Code\java\py2j-test\target\py2j-test-0.0.1-SNAPSHOT.jar 中没有主清单属性",这可能是因为你禁用了 Spring Boot Maven 插件的 repackage
目标,而这个目标通常用于创建可执行 JAR 文件。
Spring Boot Maven 插件的 repackage
目标负责将项目打包成一个可执行的 JAR 文件,并在 JAR 文件的清单属性中设置主类。由于你禁用了这个目标,清单属性中可能缺少主类信息,从而导致在运行 JAR 文件时发生错误。
为了解决这个问题,你可以考虑两种方式:
-
启用
repackage
目标:- 将
<skip>true</skip>
修改为<skip>false</skip>
,以启用repackage
目标。 - 这样会确保在构建过程中生成具有正确清单属性的可执行 JAR 文件。
- 将
-
手动配置清单属性:
- 如果你有特定的需求需要手动配置清单属性,可以通过显式指定主类信息来解决问题。
- 在 Spring Boot Maven 插件的配置中,添加
<configuration>
元素,并设置<mainClass>
元素为你的主类的全限定名,如下所示:<configuration> <mainClass>com.tolfin.Py2jTestApplication</mainClass> </configuration>
- 这样会手动指定主类,确保 JAR 文件的清单属性正确设置。
根据你的需求选择其中一种方式,并确保构建过程中生成的 JAR 文件包含正确的清单属性。