在idea中把springboot項目打成jar包遇到的問題:沒有主清單屬性
也就是你打好的jar包中的META-INF的MANIFEST文件中沒有
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: 入口類權限定名
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
解決方法:加這個插件(標紅的一定要自己加上去,因為spring的官方生成文件沒有這個)
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
如果還沒有解決,就有可能你的pom文件的插件不干凈
idea自己生成的maven項目里pom自帶的插件會影響打包
比如說:
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<pluginManagement/>
有了這個的項目打jar包時,jar包不會內置tomcat
這也是明明打好包又沒報錯為什么用命令打開時會報:沒有主清單屬性或閃退的原因(沒有內置到tomcat)
所以打包時要確認自己的pom文件中的插件要干凈
<build> <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>