项目场景:
用IDEA的maven插件将springboot程序进行打包。
点击插件内->生命周期->package
如下所示:
问题描述
打包后生成target如下所示:
进入文件夹target内使用如下命令
java -jar XXX.jar
发生错误,得到反馈如下所示:
XX.jar中没有主清单属性
原因分析:
我用的方法是利用maven插件进行打包,因此应该看一看pom文件中打包插件相关的设置内容。
发现如下的内容:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>org.example.hpc.HpcApplication</mainClass>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
解决方案:
发现plugin->configuration->mainClass 表示设置主类,但是下一行有个skip,把他删除,如下所示。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>org.example.hpc.HpcApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
重新打包发现错误解决,正常运行。