缘起

日前有一个springboot项目,在本地都运行的好好的,打包成jar放到服务器上去运行的时候报错没有主清单属性,项目中也已经配置了springboot的maven打包插件但是还是不行。

<build>
<finalName>patient-interaction</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

解决方案

应该是springboot的maven打包插件没配置maven目标(运行阶段),应该采用如下方式

<build>
<finalName>patient-interaction</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

反思

引起此错误的主要原因,还是因为自己对spring-boot-maven-plugin这个插件知之甚少,在细细了解下来才发现这个插件的强大之处远超我的了解。具体可以看这篇​​文章​