- clean 和 install都不好使,后來查了一下更新pom文件就好了
- 使用intellj idea,用maven-> reimport 更新下依賴包。
- Invalidate and restart 重啟下。
- -----
- 把jar包解壓到文件夾下查看,其中META-INF文件夾下有一個MANIFEST.MF文件,該文件指明了程序的入口以及版本信息等內容
Main-Class代表了Spring Boot中啟動jar包的程序
Start-Class屬性就代表了Spring Boot程序的入口類,這個類中應該有一個main方法
Spring-Boot-Classes代表了類的路徑,所有編譯后的class文件,以及配置文件,都存儲在該路徑下
Spring-Boot-Lib表示依賴的jar包存儲的位置
這些值都是SpringBoot打包插件會默認生成的,如果沒有這些屬性,SpringBoot程序自然不能運行,就會報錯:jar中沒有主清單屬性,也就是說沒有按照SpringBoot的要求,生成這些必須的屬性
解決辦法:
在pom中添加一個SpringBoot的構建的插件,然后重新運行 mvn install即可。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
在運行mvn install的時候,自動生成這些主清單屬性,運行java -jar xxx.jar時會根據主清單屬性找到啟動類,從而啟動程序。