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

首頁(yè) > 親子

spring-boot-maven-plugin插件詳解

來(lái)源:博客園 時(shí)間:2023-06-25 07:50:39

一、 為什么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)稿件

spring-boot-maven-plugin插件詳解

“哪涼快哪待著” 青島威海上榜全國(guó)前十 世界熱訊

用戶(hù)幫助_關(guān)于用戶(hù)幫助介紹

全球視訊!用戶(hù)心理與交互實(shí)踐_關(guān)于用戶(hù)心理與交互實(shí)踐介紹

全新ds4實(shí)車(chē)亮相,外觀時(shí)尚動(dòng)感,產(chǎn)品力如何? 環(huán)球視點(diǎn)

每日消息!香港一客機(jī)中止起飛致11名乘客受傷,國(guó)泰航空:技術(shù)故障,將配合調(diào)查

全球報(bào)道:放棄遺產(chǎn)繼承能否代理,放棄遺產(chǎn)繼承需要公證嗎-每日快訊

4月雪鐵龍銷(xiāo)量情況如何? 眾車(chē)網(wǎng)權(quán)威發(fā)布(2023年)

茶葉市場(chǎng)投資前景調(diào)研 2023茶葉行業(yè)市場(chǎng)現(xiàn)狀分析

Oner再現(xiàn)逆天操作送走T1,管澤元:卡牌開(kāi)著大螳螂害擱這隱身呢?

焦點(diǎn)關(guān)注:令中情局都"懵了"的瓦格納"兵變"如何收?qǐng)?核武控制權(quán)會(huì)不會(huì)旁落?

神界傳說(shuō)動(dòng)漫11集(神界傳說(shuō)動(dòng)漫全集) 天天快資訊

環(huán)球消息!我市全面開(kāi)展燃?xì)獍踩[患排查整治

世界焦點(diǎn)!浙江5車(chē)追尾致6死 警方通報(bào)

世界熱點(diǎn)!道客巴巴豆丁網(wǎng)百度文庫(kù)都是比較知名的網(wǎng)絡(luò)文庫(kù)_文庫(kù)巴巴

心悅俱樂(lè)部g分有什么用(心悅g分有什么用)

世界熱推薦:夏季達(dá)沃斯論壇 首次實(shí)現(xiàn)100%綠電供應(yīng)

唯品會(huì)網(wǎng)站怎么打不開(kāi)(為什么唯品會(huì)網(wǎng)站打不開(kāi)) 天天熱門(mén)

玩游戲掉幀是驅(qū)動(dòng)的問(wèn)題嗎(玩游戲掉幀)

君子和而不同(君子和而不同小人同而不和體現(xiàn)的哲理)

網(wǎng)頁(yè)看不了視頻有聲音沒(méi)畫(huà)面(網(wǎng)頁(yè)看不了視頻)

世界視訊!AMD RX 7800 XT顯卡新爆料,將采用新GPU

蘋(píng)果為老機(jī)型推送 watchOS 8.8.1 更新,提供安全性修復(fù)

2023年全市意識(shí)形態(tài)工作專(zhuān)題培訓(xùn)在市委黨校舉行

電腦打開(kāi)網(wǎng)頁(yè)網(wǎng)速很慢(我的電腦最近打開(kāi)網(wǎng)頁(yè)很慢 怎么辦)

新款奔騰X40怎么樣及寶駿730 1.5T自動(dòng)擋多少錢(qián) 世界百事通

交通運(yùn)輸部:端午節(jié)假期 全國(guó)共發(fā)送旅客預(yù)計(jì)超1.4億人次

端午假期,商丘古城文旅活動(dòng)精彩紛呈 世界實(shí)時(shí)

圖片新聞 環(huán)球熱訊

最新快訊!奔馳GLE 450 4MATIC怎么樣及沃爾沃XC40多少錢(qián)