jar包運(yùn)行后顯示沒有主清單屬性的問題及解決
問題現(xiàn)象
jar包運(yùn)行后顯示 沒有主清單屬性!
問題分析
出現(xiàn)這個(gè)報(bào)錯(cuò)主要就是兩個(gè)原因:
1.缺少了項(xiàng)目maven打包插件 spring-boot-maven-plugin。
2.沒有指定具體的項(xiàng)目的Main方法入口或啟動(dòng)類。
解決方法
方法1
1、查看項(xiàng)目打包的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工具可以直接點(diǎn)擊:Maven Projects-Lifecycle-clean):
3、清包成功后,再執(zhí)行mvn package打包指令(IDEA工具可以直接點(diǎn)擊:Maven Projects-Lifecycle-package):
4、如果想生成依賴包并存于本地maven倉庫中,則可以執(zhí)行mvn install依賴安裝指令(IDEA工具可以直接點(diǎn)擊:Maven Projects-Lifecycle-install):
5、項(xiàng)目生成target包,且能看到j(luò)ar包即為成功:
方法2
通過IDEA開發(fā)工具:
1、點(diǎn)擊左上角File-Project Structure... :
2、彈出新窗口后點(diǎn)擊Artifacts-"+"號(hào)-JAR-From module with dependenceis... :
3、彈出新窗口后點(diǎn)擊Main Class最優(yōu)邊文件夾圖標(biāo) :
4、彈出新窗口后點(diǎn)擊Project-選擇項(xiàng)目中的啟動(dòng)類-OK :
5、回到上一窗口后點(diǎn)擊Directory for META-INF/MANIFEST.MF右邊的文件夾圖標(biāo)- 選擇自己項(xiàng)目的根路徑-OK:
6、回到上一窗口后點(diǎn)擊OK(可以看見有如下圖所示的改變) :
7、點(diǎn)擊右邊的Maven Projects-點(diǎn)擊Lifecycle下的clean插件-觀察控制臺(tái)信息clean結(jié)束則點(diǎn)擊install或者package也行-等運(yùn)行完就能看見項(xiàng)目根路徑下生成了MANIFEST.MF文件 :
補(bǔ)充
可能有些人配置完,還是不行,大部分原因是因?yàn)轫?xiàng)目中使用的springboot版本不同導(dǎo)致的,文章中我的項(xiàng)目引用的父級(jí)依賴包是2.7.4版本的,親測(cè)能正常打包,所以我的配置是沒問題的。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.4</version> <relativePath/> </parent>
如果小伙伴們用的版本號(hào)和我的差別比較大,估計(jì)就會(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版本。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java視頻斷點(diǎn)上傳的實(shí)現(xiàn)示例
斷點(diǎn)續(xù)傳指的是在下載或上傳時(shí),將下載或上傳任務(wù)人為的劃分為幾個(gè)部分,本文主要介紹了Java視頻斷點(diǎn)上傳的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問題及解決
這篇文章主要介紹了idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04Maven+SSM框架實(shí)現(xiàn)簡單的增刪改查
這篇文章主要介紹了Maven+SSM框架實(shí)現(xiàn)簡單的增刪改查,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03關(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解
下面小編就為大家?guī)硪黄P(guān)于Java變量的聲明、內(nèi)存分配及初始化詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03生產(chǎn)環(huán)境jvm常用的參數(shù)設(shè)置建議分享
在Java應(yīng)用程序的部署過程中,合理配置JVM(Java虛擬機(jī))參數(shù)對(duì)于提升應(yīng)用性能、穩(wěn)定性和資源利用效率至關(guān)重要,本文將探討一些常用的JVM參數(shù)設(shè)置建議,幫助開發(fā)者在生產(chǎn)環(huán)境中優(yōu)化Java應(yīng)用,需要的朋友可以參考下2025-04-04詳解Nacos中注冊(cè)中心和配置中心的實(shí)現(xiàn)
Spring?Cloud?Alibaba?是阿里巴巴提供的一站式微服務(wù)開發(fā)解決方案。而?Nacos?作為?Spring?Cloud?Alibaba?的核心組件之一,提供了兩個(gè)非常重要的功能:注冊(cè)中心和配置中心,我們今天來了解和實(shí)現(xiàn)一下二者2022-08-08SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值
這篇文章主要介紹了SpringBoot的@Value給靜態(tài)變量注入application.properties屬性值,Spring是一個(gè)開源的框架,主要是用來簡化開發(fā)流程,通過IOC,依賴注入(DI)和面向接口實(shí)現(xiàn)松耦合,需要的朋友可以參考下2023-05-05