最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot項(xiàng)目打包的可執(zhí)行jar運(yùn)行報(bào)錯(cuò)問(wèn)題及解決

 更新時(shí)間:2026年04月11日 08:43:35   作者:凡人歌者徐  
本文介紹了SpringBoot項(xiàng)目打包成可執(zhí)行jar文件后無(wú)法使用java-jar命令啟動(dòng)的問(wèn)題及解決方法,主要是需要在pom.xml文件中添加spring-boot-maven-plugin插件,以便生成正確的MANIFEST.MF文件

問(wèn)題展現(xiàn)

現(xiàn)在使用springboot開(kāi)發(fā)spring項(xiàng)目是真的方便快捷,程序開(kāi)發(fā)完成之后,直接打包成一個(gè)可執(zhí)行jar文件,就可以在java環(huán)境中運(yùn)行。

那對(duì)于新手小伙伴來(lái)說(shuō),可能會(huì)碰到打包好的可執(zhí)行jar文件無(wú)法通過(guò)java -jar命令進(jìn)行啟動(dòng),報(bào)錯(cuò)提示該可執(zhí)行jar文件中沒(méi)有主清單屬性,如下所示。

仔細(xì)觀察該可執(zhí)行jar文件,發(fā)現(xiàn)其只有KB級(jí)大小,顯然是有問(wèn)題的。

問(wèn)題解決

在springboot項(xiàng)目的pom.xml文件中,添加以下節(jié)點(diǎn)內(nèi)容,并重新打包。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.2.1.RELEASE</version>
        </plugin>
    </plugins>
</build>

可以看到,加上這段內(nèi)容之后,重新打包后的jar文件大小就是MB級(jí),再次使用java -jar命令啟動(dòng)也再?zèng)]有問(wèn)題。

原理說(shuō)明

在oracle官網(wǎng)的java文檔中有一段話作者進(jìn)行了部分截取。

The java command starts a Java application. 
If the -jar option is specified, its argument is the name of the JAR file containing class and resource files for the application. 
The startup class must be indicated by the Main-Class manifest header in its source code.

翻譯過(guò)來(lái)就是說(shuō),java命令是用來(lái)啟動(dòng)一個(gè)java應(yīng)用的,如果java命令后接了-jar選項(xiàng),那么緊跟的參數(shù)就是可執(zhí)行jar文件的名字,這個(gè)可執(zhí)行jar文件包含了編譯好的字節(jié)碼文件以及資源文件。啟動(dòng)類(lèi)必須通過(guò)源碼中的manifest頭的Main-Class屬性指定。

簡(jiǎn)單點(diǎn)說(shuō),java -jar 命令執(zhí)行的時(shí)候,會(huì)去運(yùn)行可執(zhí)行jar文件的META-INF/MANIFEST.MF文件中的Main-Class屬性指定的類(lèi),如果沒(méi)有找到,就會(huì)報(bào)沒(méi)有主清單的錯(cuò)誤。

加了spring-boot-maven-plugin插件生成的MANIFEST.MF文件

沒(méi)加spring-boot-maven-plugin插件生成的MANIFEST.MF文件

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 將字符串、list 寫(xiě)入到文件,并讀取內(nèi)容的案例

    java 將字符串、list 寫(xiě)入到文件,并讀取內(nèi)容的案例

    這篇文章主要介紹了java 將字符串、list 寫(xiě)入到文件,并讀取內(nèi)容的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • SpringBoot保護(hù)配置文件中敏感信息的保姆級(jí)教程

    SpringBoot保護(hù)配置文件中敏感信息的保姆級(jí)教程

    這篇文章主要為大家詳細(xì)介紹了SpringBoot保護(hù)配置文件中敏感信息的保姆級(jí)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2025-12-12
  • Java中如何動(dòng)態(tài)創(chuàng)建接口的實(shí)現(xiàn)方法

    Java中如何動(dòng)態(tài)創(chuàng)建接口的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java中如何動(dòng)態(tài)創(chuàng)建接口的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • 使用jvm sandbox對(duì)三層嵌套類(lèi)型的改造示例

    使用jvm sandbox對(duì)三層嵌套類(lèi)型的改造示例

    這篇文章主要為大家介紹了使用jvm sandbox對(duì)三層嵌套類(lèi)型的改造示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Java?Elastic-Job分布式定時(shí)任務(wù)使用方法介紹

    Java?Elastic-Job分布式定時(shí)任務(wù)使用方法介紹

    xxl-job?通過(guò)一個(gè)中心式的調(diào)度平臺(tái),調(diào)度多個(gè)執(zhí)行器執(zhí)行任務(wù),調(diào)度中心通過(guò)?DB?鎖保證集群分布式調(diào)度的一致性,這樣擴(kuò)展執(zhí)行器會(huì)增大?DB?的壓力,然而大部分公司的任務(wù)數(shù),執(zhí)行器并不多;xxl-job?提供了非常好用的監(jiān)控頁(yè)面甚至還有任務(wù)失敗的郵件告警功能
    2023-01-01
  • Java中OGNL表達(dá)式語(yǔ)言的使用詳解

    Java中OGNL表達(dá)式語(yǔ)言的使用詳解

    本文介紹了OGNL(ObjectGraphNavigationLanguage)表達(dá)式語(yǔ)言,這是一種用于Java語(yǔ)言的對(duì)象圖導(dǎo)航和操作的表達(dá)式語(yǔ)言,它支持訪問(wèn)對(duì)象屬性、調(diào)用對(duì)象方法、執(zhí)行算術(shù)和邏輯運(yùn)算,以及處理集合和數(shù)組等操作,OGNL的語(yǔ)法簡(jiǎn)潔明了
    2024-12-12
  • Java多線程Thread基礎(chǔ)學(xué)習(xí)

    Java多線程Thread基礎(chǔ)學(xué)習(xí)

    每一個(gè)正在執(zhí)行的程序都是一個(gè)進(jìn)程,資源只有一塊,所以在同一時(shí)間段會(huì)有多個(gè)程序同時(shí)執(zhí)行,但是在一個(gè)時(shí)間點(diǎn)上,只能由一個(gè)程序執(zhí)行,多線程是在一個(gè)進(jìn)程的基礎(chǔ)之上的進(jìn)一步劃分,需要的朋友可以參考下
    2023-04-04
  • mybatis-plus根據(jù)任意字段saveOrUpdateBatch更新插入的方法實(shí)現(xiàn)

    mybatis-plus根據(jù)任意字段saveOrUpdateBatch更新插入的方法實(shí)現(xiàn)

    Iservice接口下的saveOrUpdateBatch方法默認(rèn)是根據(jù)主鍵來(lái)決定是要更新還是插入的,本文就來(lái)詳細(xì)的介紹一下saveOrUpdateBatch的使用,感興趣的可以來(lái)了解一下
    2026-04-04
  • springboot實(shí)現(xiàn)熱部署操作方法

    springboot實(shí)現(xiàn)熱部署操作方法

    這篇文章主要介紹了springboot實(shí)現(xiàn)熱部署操作方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Spring?Boot?完整啟動(dòng)流程詳解

    Spring?Boot?完整啟動(dòng)流程詳解

    本文完整解析Spring Boot啟動(dòng)流程的9個(gè)核心階段,結(jié)合源碼與實(shí)戰(zhàn)場(chǎng)景,幫助開(kāi)發(fā)者深入理解框架運(yùn)行機(jī)制,感興趣的朋友跟隨小編一起看看吧
    2025-09-09

最新評(píng)論

潞西市| 阿巴嘎旗| 衡山县| 永平县| 连城县| 湖口县| 宁南县| 西丰县| 鹤岗市| 杂多县| 镇原县| 定襄县| 新野县| 义乌市| 南木林县| 淳安县| 青冈县| 华容县| 循化| 西林县| 中方县| 闸北区| 宁津县| 金平| 厦门市| 普宁市| 密云县| 静海县| 德清县| 夏津县| 定南县| 潞城市| 屏东市| 兴宁市| 比如县| 陆川县| 扶余县| 丰镇市| 黄龙县| 利川市| 高雄市|