Java中jar包運行后顯示:沒有主清單屬性的解決方案
一、問題現(xiàn)象
jar包運行后顯示 沒有主清單屬性!如下圖所示:

二、問題分析
出現(xiàn)這個報錯主要就是三個原因:
1、缺少了項目maven打包插件 spring-boot-maven-plugin。
2、原因是因為項目中使用的springboot版本不同導(dǎo)致的。
3、沒有指定具體的項目的Main方法入口或啟動類。
三、解決方案
3.1 添加 spring-boot-maven-plugin 插件
把打包方式和打包插件添加到 pom.xml 文件中,然后 mvn clean 一下,再次重新打包,運行 jar 包,解決問題。
<!-- 打包格式 -->
<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>
3.2 修改 spring-boot 父級依賴
文章中我的項目引用的父級依賴包是2.7.14版本的,親測能正常打包,所以我的配置是沒問題的。

如果小伙伴們用的版本號和我的差別比較大,可能就會不適用,建議使用下面的配置:
<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版本。
3.3 配置IDEA開發(fā)工具
步驟一:點擊左上角 File --> Project Structure
步驟二:彈出新窗口后點擊Artifacts-"+"號-JAR-From module with dependenceis…

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

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

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

步驟六:回到上一窗口后點擊OK(可以看見有如下圖所示的改變)

步驟七:點擊右邊的Maven Projects-點擊Lifecycle下的clean插件-觀察控制臺信息clean結(jié)束則點擊install或者package也行-等運行完就能看見項目根路徑下生成了MANIFEST.MF文件

本文完結(jié)!
以上就是Java中jar包運行后顯示:沒有主清單屬性的解決方案的詳細內(nèi)容,更多關(guān)于Java jar包沒有主清單屬性的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
據(jù)說這個是可以擼到2089年的idea2020.2(推薦)
這篇文章主要介紹了據(jù)說這個是可以擼到2089年的idea2020.2,本教程給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案
這篇文章主要介紹了Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
詳解java開啟異步線程的幾種方法(@Async,AsyncManager,線程池)
在springboot框架中,可以使用注解簡單實現(xiàn)線程的操作,還有AsyncManager的方式,如果需要復(fù)雜的線程操作,可以使用線程池實現(xiàn),本文通過實例代碼介紹java開啟異步線程的幾種方法(@Async,AsyncManager,線程池),感興趣的朋友一起看看吧2023-09-09
spring使用validation參數(shù)及全局異常檢測方式
本文主要介紹了Java的數(shù)據(jù)校驗規(guī)范validation-api,包括其定義的注解和HibernateValidator的實現(xiàn),還介紹了spring-boot-starter-validation的使用,可以讓開發(fā)者在SpringBoot應(yīng)用中簡化數(shù)據(jù)校驗的功能2025-02-02
SpringBoot響應(yīng)Json數(shù)據(jù)亂碼通過配置的解決
這篇文章主要介紹了SpringBoot響應(yīng)Json數(shù)據(jù)亂碼通過配置的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Java代碼優(yōu)化實現(xiàn)Zip壓縮大文件從30秒到近乎1秒的優(yōu)化過程
本文詳細介紹了一種使用Java進行文件壓縮的優(yōu)化過程,從最初的無緩沖壓縮到使用緩沖區(qū),再到利用NIO的Channel和內(nèi)存映射文件技術(shù),最終實現(xiàn)壓縮速度的顯著提升,感興趣的可以了解一下2025-09-09

