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

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

如果小伙伴們用的版本號(hào)和我的差別比較大,可能就會(huì)不適用,建議使用下面的配置:
<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>
如果還是不行,就得查一下資料,看看自己項(xiàng)目中用到的springboot版本對(duì)應(yīng)的打包插件配置,尤其是springboot3之后的版本,有很多配置有了很大的改變,本文章主要是用于適應(yīng)大部分項(xiàng)目中使用的springboot2版本。
3.3 配置IDEA開發(fā)工具
步驟一:點(diǎn)擊左上角 File --> Project Structure
步驟二:彈出新窗口后點(diǎn)擊Artifacts-"+"號(hào)-JAR-From module with dependenceis…

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

步驟四:彈出新窗口后點(diǎn)擊Project-選擇項(xiàng)目中的啟動(dòng)類-OK

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

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

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

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

