久久久噜噜噜久久熟女,久久久久久久久,国内精品,精品国产成人亚洲午夜福利,久久天堂av综合合色蜜桃网,好姑娘在线观看完整视频高清

首頁(yè) > 家居

時(shí)訊:spring-boot-maven-plugin插件詳解

來(lái)源:博客園 時(shí)間:2023-06-25 08:26:54

一、 為什么Spring Boot項(xiàng)目自帶這個(gè)插件

當(dāng)我們?cè)赟pringBoot官方下載一個(gè)腳手架時(shí),會(huì)發(fā)現(xiàn)pom.xml會(huì)自帶spring-boot-maven-plugin插件

4.0.0org.springframework.bootspring-boot-starter-parent2.7.12com.zhuangpomaven-plugin0.0.1-SNAPSHOTmaven-plugin1.8org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-maven-plugin

那為什么會(huì)自帶這個(gè)插件呢?


【資料圖】

我們知道Spring Boot項(xiàng)目,是可以通過(guò)java -jar 包名啟動(dòng)的

打包命令

mvn clean package

打包成功后就會(huì)生成一個(gè)jar包

試下是否可以通過(guò)java -jar 包名啟動(dòng)項(xiàng)目

發(fā)現(xiàn)是可以正常啟動(dòng)。

這個(gè)時(shí)候我們?nèi)サ魋pring-boot-maven-plugin插件,通過(guò) mvn clean package再打一次包。

打包依然成功,包名也一樣,只是jar包大小有著天壤之別

發(fā)現(xiàn)只有3KB,之前的有17.7MB。

我們通過(guò)java -jar 包名看能否啟動(dòng)成功。

localhost:target xub$ java -jar maven-plugin-0.0.1-SNAPSHOT.jar maven-plugin-0.0.1-SNAPSHOT.jar中沒(méi)有主清單屬性

發(fā)現(xiàn)并不能啟動(dòng)成功,這是為什么呢?

一般的maven項(xiàng)目的打包命令,不會(huì)把依賴(lài)的jar包也打包進(jìn)去的,只是會(huì)放在jar包的同目錄下,能夠引用就可以了。

但是spring-boot-maven-plugin插件,會(huì)將依賴(lài)的jar包全部打包進(jìn)去。該文件包含了所有的依賴(lài)和資源文件,可以直接在命令行或者傳統(tǒng)的 Java Web 服務(wù)器上啟動(dòng)運(yùn)行。

二、插件介紹1、插件標(biāo)簽詳解
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ......                                                                                                                                                        
2、內(nèi)部goals

該插件提供了7個(gè)maven goal

build-image: 將程序使用 buildpack 打包進(jìn)容器鏡像中。build-info:生成項(xiàng)目的構(gòu)建信息文件 build-info.propertieshelp:顯示幫助信息。調(diào)用mvn spring-boot:help -Ddetail=true -Dgoal=以顯示參數(shù)詳細(xì)信息。repackage:可生成可執(zhí)行的jar包或war包。插件的核心goal。run:運(yùn)行 Spring Boot 應(yīng)用start:在集成測(cè)試階段,控制生命周期stop:在集成測(cè)試階段,控制生命周期

為什么這里插件名稱(chēng)叫spring-boot?

原因:自定義插件如果遵循 xxx-maven-plugin 的形式,maven 默認(rèn)會(huì)將 maven-plugin 前面的內(nèi)容作為插件前綴。

三、該插件常見(jiàn)使用場(chǎng)景1、排除provided類(lèi)型的依賴(lài)

默認(rèn)情況下,repackage命令所生成的包,會(huì)把項(xiàng)目中所有的依賴(lài)都打進(jìn)去。

但其實(shí)在項(xiàng)目中scope為provided的依賴(lài),比如 lombok、mybatis-plus等,只作用于編譯階段,編譯完成就沒(méi)用了。

若除去provided依賴(lài),可以使用如下的配置:

org.springframework.bootspring-boot-maven-plugin   org.projectlombok   lombok
2、指定Mainclass類(lèi)

如果未指定,main將使用找到的第一個(gè)包含方法的編譯類(lèi)。

也就是說(shuō)如果只有一個(gè)main方法,那不需要去指定,如果你這個(gè)模塊存在兩個(gè)主類(lèi),那么就需要在插件中指定具體哪個(gè)啟動(dòng)類(lèi)了。

   org.springframework.boot   spring-boot-maven-plugin       com.zhuangpo.mavenplugin.MavenPluginApplication    ZIP    

layout 屬性用來(lái)指定打成 jar 還是war 文件,可用的值包括:ZIP 、JAR 、WAR、 NONE 。默認(rèn)JAR

3、在使用spring-boot-maven-plugin的下生成普通的jar包

前面說(shuō)了,如果使用該插件,那么打出來(lái)的包是一個(gè)可執(zhí)行的jar包,這樣的jar包,在被別的項(xiàng)目引用的時(shí)候,可能會(huì)出問(wèn)題。

那如何打成一個(gè)普通的jar包。

當(dāng)然你可以把這個(gè)插件注釋掉,重新打包。不過(guò)這樣做未必太愚蠢啦。

解決辦法

第一種:通過(guò)命令

mvn clean package -D spring-boot.repackage.skip=true 

加上-Dspring-boot.repackage.skip=true參數(shù)即可,此時(shí)只會(huì)生成一個(gè)普通的jar包

第二種:通過(guò)配置

org.springframework.bootspring-boot-maven-plugintrue

這兩種方式打出來(lái)的包就是沒(méi)有依賴(lài)jar的普通包了。

聲明: 公眾號(hào)如需轉(zhuǎn)載該篇文章,發(fā)表文章的頭部一定要 告知是轉(zhuǎn)至公眾號(hào): 后端元宇宙。同時(shí)也可以問(wèn)本人要markdown原稿和原圖片。其它情況一律禁止轉(zhuǎn)載!

相關(guān)稿件

時(shí)訊:spring-boot-maven-plugin插件詳解

每日熱門(mén):沒(méi)有聲音怎么修復(fù)電腦(沒(méi)有聲音怎么修復(fù))

國(guó)際范兒,龍舟“劃”向世界!端午節(jié)已成全人類(lèi)共同文化遺產(chǎn)

每日速遞:敬老愛(ài)老暖人心,這個(gè)社區(qū)為百歲老人舉辦生日會(huì)

車(chē)險(xiǎn)手續(xù)費(fèi)“價(jià)格戰(zhàn)”消費(fèi)者獲利了嗎?_焦點(diǎn)訊息

天天看點(diǎn):1.06億人次,超2019年同期!端午出游很“熱”

讓傳統(tǒng)節(jié)日綻放時(shí)代新韻

暴雨黃色預(yù)警:廣西廣東江西等地部分地區(qū)將現(xiàn)大暴雨

世界熱消息:9省區(qū)市將現(xiàn)35℃以上高溫 內(nèi)蒙古局地可達(dá)40℃

觀點(diǎn):氣象專(zhuān)家:厄爾尼諾將給我國(guó)帶來(lái)哪些影響?

瘋狂慶祝!中國(guó)男排結(jié)束6連敗,各項(xiàng)排名暴漲,保級(jí)希望大增

不良人:第六季究竟隱藏了多少伏筆,四大尸祖的秘密,究竟是什么

要聞速遞:端午節(jié)假期出游人次破億 文旅產(chǎn)品服務(wù)豐富

太陽(yáng)三方交易官宣!比爾正式亮相聯(lián)手杜布沖冠 老板發(fā)聲感謝保羅

王啟蒙: 黃金下周行情價(jià)格走勢(shì)預(yù)測(cè)及黃金獨(dú)家多空最新操作建議

從盜竊犯到普京大廚,從沖鋒陷陣到反戈一擊……普里戈任:令人琢磨不透的人

越南告急,中國(guó)出手

視焦點(diǎn)訊!在丁字路上我三輪電動(dòng)車(chē)左轉(zhuǎn)車(chē)頭已過(guò)黃線,有一輛摩托車(chē)直行碰到

科技日?qǐng)?bào):超聲波療法成醫(yī)學(xué)領(lǐng)域“多面手”|環(huán)球精選

重磅!新 Model 3 內(nèi)飾曝光:加入線控轉(zhuǎn)向,揚(yáng)聲器、座椅也有升級(jí)

今日快訊:郭浩任中原銀行董事長(zhǎng)

熱訊:自貿(mào)區(qū)債:離岸融資的飛地?

泰坦號(hào)內(nèi)爆5位富豪遇難!AI復(fù)原最后恐怖瞬間,設(shè)計(jì)缺陷真相公開(kāi)_熱文

5月16日 孫立偉參贊陪同羅林泉大使參加質(zhì)檢總局局長(zhǎng)支樹(shù)平與希臘農(nóng)村發(fā)展與食品部及地區(qū)發(fā)展部的會(huì)談_焦點(diǎn)滾動(dòng)

全球快報(bào):瓦格納人員撤離俄南部軍區(qū)總部所在區(qū)域

貴州“村超”現(xiàn)場(chǎng)迎來(lái)藏族球隊(duì):以球促交流

以茶換油,伊朗和斯里蘭卡貿(mào)易避開(kāi)美元

污染中文互聯(lián)網(wǎng)的AI在知乎被當(dāng)場(chǎng)抓獲

熱點(diǎn)!農(nóng)業(yè)社會(huì)化服務(wù)助力豐收——從夏收一線看農(nóng)業(yè)強(qiáng)國(guó)建設(shè)之三

人工智能如何應(yīng)對(duì)氣候變化