jar包運行后顯示沒有主清單屬性的問題及解決
問題現(xiàn)象
jar包運行后顯示 沒有主清單屬性!
問題分析
出現(xiàn)這個報錯主要就是兩個原因:
1.缺少了項目maven打包插件 spring-boot-maven-plugin。
2.沒有指定具體的項目的Main方法入口或啟動類。
解決方法
方法1
1、查看項目打包的pom.xml文件中,添加配置如下:
<!-- 打包格式 -->
<packaging>jar</packaging>
<!-- 打包插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<layout>JAR</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<attach>false</attach>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>2、先執(zhí)行mvn clean清包指令(IDEA工具可以直接點擊:Maven Projects-Lifecycle-clean):
3、清包成功后,再執(zhí)行mvn package打包指令(IDEA工具可以直接點擊:Maven Projects-Lifecycle-package):

4、如果想生成依賴包并存于本地maven倉庫中,則可以執(zhí)行mvn install依賴安裝指令(IDEA工具可以直接點擊:Maven Projects-Lifecycle-install):

5、項目生成target包,且能看到j(luò)ar包即為成功:

方法2
通過IDEA開發(fā)工具:
1、點擊左上角File-Project Structure... :

2、彈出新窗口后點擊Artifacts-"+"號-JAR-From module with dependenceis... :

3、彈出新窗口后點擊Main Class最優(yōu)邊文件夾圖標(biāo) :

4、彈出新窗口后點擊Project-選擇項目中的啟動類-OK :

5、回到上一窗口后點擊Directory for META-INF/MANIFEST.MF右邊的文件夾圖標(biāo)- 選擇自己項目的根路徑-OK:

6、回到上一窗口后點擊OK(可以看見有如下圖所示的改變) :
7、點擊右邊的Maven Projects-點擊Lifecycle下的clean插件-觀察控制臺信息clean結(jié)束則點擊install或者package也行-等運行完就能看見項目根路徑下生成了MANIFEST.MF文件 :

補充
可能有些人配置完,還是不行,大部分原因是因為項目中使用的springboot版本不同導(dǎo)致的,文章中我的項目引用的父級依賴包是2.7.4版本的,親測能正常打包,所以我的配置是沒問題的。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.4</version>
<relativePath/>
</parent>如果小伙伴們用的版本號和我的差別比較大,估計就會不適用,建議使用下面的配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
<finalName>${project.name}</finalName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>如果還是不行,就得查一下資料,看看自己項目中用到的springboot版本對應(yīng)的打包插件配置,尤其是springboot3之后的版本,有很多配置有了很大的改變,本文章主要是用于適應(yīng)大部分項目中使用的springboot2版本。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
idea新建springboot項目pom文件報錯問題及解決
這篇文章主要介紹了idea新建springboot項目pom文件報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
關(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解
下面小編就為大家?guī)硪黄P(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
生產(chǎn)環(huán)境jvm常用的參數(shù)設(shè)置建議分享
在Java應(yīng)用程序的部署過程中,合理配置JVM(Java虛擬機)參數(shù)對于提升應(yīng)用性能、穩(wěn)定性和資源利用效率至關(guān)重要,本文將探討一些常用的JVM參數(shù)設(shè)置建議,幫助開發(fā)者在生產(chǎn)環(huán)境中優(yōu)化Java應(yīng)用,需要的朋友可以參考下2025-04-04
SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值
這篇文章主要介紹了SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值,Spring是一個開源的框架,主要是用來簡化開發(fā)流程,通過IOC,依賴注入(DI)和面向接口實現(xiàn)松耦合,需要的朋友可以參考下2023-05-05

