Maven常用打包插件的使用

大家好,我是IT修真院深圳分院第01期學(xué)員,一枚正直純潔善良的web程序員盗棵。今天給大家分享一下,修真院官網(wǎng)JAVA(職業(yè))任務(wù)2的知識(shí)點(diǎn)——Maven常用打包插件的使用北发。

1.背景介紹

打包纹因,正式說(shuō)法是構(gòu)建項(xiàng)目軟件包,具體說(shuō)就是將項(xiàng)目中的各種文件琳拨,比如源代碼瞭恰、編譯生成的字節(jié)碼、配置文件狱庇、文檔寄疏,按照規(guī)范的格式生成歸檔,最常見(jiàn)的是JAR包和WAR包僵井。

2.知識(shí)剖析

2.1 關(guān)于package

任何一個(gè)Maven項(xiàng)目都需要定義POM元素packaging(如果不寫(xiě)則默認(rèn)值為jar)陕截。該元素決定了項(xiàng)目的打包方式。實(shí)際的情形中批什,如果你不聲明該元素农曲,Maven會(huì)幫你生成一個(gè)JAR包;如果你定義該元素的值為war,那你會(huì)得到一個(gè)WAR包乳规;如果定義其值為POM(比如是一個(gè)父模塊)形葬,那什么包都不會(huì)生成。

2.2 常規(guī)打包

maven項(xiàng)目常規(guī)的四種包:jar暮的、war笙以、source和javadoc,maven提供了對(duì)應(yīng)的插件:maven-jar-plugin冻辩、maven-war-plugin猖腕、maven-source-plugin和maven-javadoc-plugin。

2.3 可執(zhí)行jar包

Maven默認(rèn)生成的jar包只包含了編譯生成的.class文件和項(xiàng)目資源文件恨闪,而要得到一個(gè)可以直接在命令行通過(guò)java命令運(yùn)行的jar文件倘感,還要滿足兩個(gè)條件:

1)jar包中的/META-INF/MANIFEST.MF元數(shù)據(jù)文件必須包含Main-Class信息。

2)項(xiàng)目所有的依賴(lài)都必須在Classpath中咙咽。

有三種生成方式:

1)使用jar和dependency插件

2)使用shade插件

3)使用assembly插件

2.3 項(xiàng)目分發(fā)包

實(shí)際的軟件項(xiàng)目常常會(huì)有更復(fù)雜的打包需求老玛,例如我們可能需要為客戶(hù)提供一份產(chǎn)品的分發(fā)包,這個(gè)包不僅僅包含項(xiàng)目的字節(jié)碼文件钧敞,還得包含依賴(lài)以及相關(guān)腳本文件以方便客戶(hù)解壓后就能運(yùn)行蜡豹,此外分發(fā)包還得包含一些必要的文檔。

assembly插件支持各種打包文件格式溉苛,包括zip余素、tar.gz、tar.bz2等等炊昆,通過(guò)一個(gè)打包描述文件,能夠幫助用戶(hù)選擇具體打包哪些文件集合威根、依賴(lài)凤巨、模塊、和甚至本地倉(cāng)庫(kù)文件洛搀,每個(gè)項(xiàng)的具體打包路徑用戶(hù)也能自由控制敢茁。

assembly.xml文件的id對(duì)應(yīng)了其最終生成文件的classifier。

formats定義打包生成的文件格式留美。

dependencySets用來(lái)定義選擇依賴(lài)并定義最終打包到什么目錄彰檬。

fileSets允許用戶(hù)通過(guò)文件或目錄的粒度來(lái)控制打包。

3. 常見(jiàn)問(wèn)題

實(shí)際使用

4. 解決方案

在pom文件中配置插件

5. 編碼實(shí)戰(zhàn)

6. 擴(kuò)展思考

assembly插件對(duì)包含spring框架的項(xiàng)目打可運(yùn)行jar包會(huì)報(bào)錯(cuò)

鏈接

7. 參考文獻(xiàn)

參考一:maven打包的技巧

參考二:maven官方文檔

8. 更多討論

其他格式的項(xiàng)目分發(fā)包

PPT鏈接


maven常用打包插件_騰訊視頻

提問(wèn):用assembly插件打成分發(fā)包谎砾,里面的項(xiàng)目可以用IDE打開(kāi)直接運(yùn)行嗎逢倍?

答:可以

提問(wèn):可執(zhí)行jar包中的MANIFEST.MF文件可以手動(dòng)添加主類(lèi)信息嗎?

答:我用shade插件試了下景图,是可以的较雕,但是限制比較多。首先在pom中shade插件配置中注釋掉主類(lèi)入口配置,然后運(yùn)行打包亮蒋,將打出來(lái)的jar包用WinRAR打開(kāi)扣典,直接用sublime編輯MANIFEST.MF文件,添加主類(lèi)信息然后保存慎玖,關(guān)閉jar包贮尖,運(yùn)行成功。需要注意的是不能解壓jar包再編輯趁怔,否則會(huì)報(bào)錯(cuò)湿硝,應(yīng)該是解壓會(huì)破壞關(guān)聯(lián)關(guān)系。

提問(wèn):打包時(shí)怎樣跳過(guò)測(cè)試痕钢?

答:在configuration標(biāo)簽中加上<skip>true</skip>即可图柏,版本不同可能寫(xiě)法會(huì)有變化,或者用<skipTests>true</skipTests>任连。

鳴謝

感謝大家觀看

------------------------------------------------------------------------------------------------------------------------

今天的分享就到這里啦蚤吹,歡迎大家點(diǎn)贊、轉(zhuǎn)發(fā)随抠、留言裁着、拍磚~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拱她,隨后出現(xiàn)的幾起案子二驰,更是在濱河造成了極大的恐慌,老刑警劉巖秉沼,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桶雀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡唬复,警方通過(guò)查閱死者的電腦和手機(jī)矗积,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)敞咧,“玉大人棘捣,你說(shuō)我怎么就攤上這事⌒萁ǎ” “怎么了乍恐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)测砂。 經(jīng)常有香客問(wèn)我茵烈,道長(zhǎng),這世上最難降的妖魔是什么砌些? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任瞧毙,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宙彪。我一直安慰自己矩动,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布释漆。 她就那樣靜靜地躺著悲没,像睡著了一般。 火紅的嫁衣襯著肌膚如雪男图。 梳的紋絲不亂的頭發(fā)上示姿,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音逊笆,去河邊找鬼栈戳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛难裆,可吹牛的內(nèi)容都是我干的子檀。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乃戈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼褂痰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起症虑,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缩歪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后谍憔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體匪蝙,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年习贫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逛球。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沈条,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出诅炉,到底是詐尸還是另有隱情蜡歹,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布涕烧,位于F島的核電站月而,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏议纯。R本人自食惡果不足惜父款,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧憨攒,春花似錦世杀、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至杏瞻,卻和暖如春所刀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捞挥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工浮创, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砌函。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓斩披,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親胸嘴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子雏掠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容