之前从来没在意过这个问题,无数次项目打包都没有问题,突然有一天新建了个springboot项目打包部署的时候报错:no main manifest attribute, in xxxx-0.0.1-SNAPSHOT.jar
本明白什么原因,貌似也知道怎么去解决,以为是小问题,折腾了将近一下午,就是出不来,着实有点儿要崩溃了!各种百度千篇一律,实在没招了,Google了一下,一把解决!
先贴上最终解决方法:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.8.RELEASE</version>
<configuration>
<mainClass>xxxxxx.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
其中,主要起作用的是,goal - repackage这个节点,上面主入口没有也行;
下面是原文说明,只说明了解决方法,对比了一下加不加<goal>repackage</goal>,不加打出来的包只有几十kb,就是只打包源代码;而加上<goal>repackage</goal>打出来的包好几十MB,就是把所有依赖的jar包也打进来了。
对于这样的打包参数可以理解,但是有一点始终搞不懂,别的项目(好多,特意去看了看)里面确实没有这个repackage,但是打的包是对的????????有没有大神给解释一下
原出自:Fixing the No Main Manifest Attribute in Spring Boot | Baeldung