摘要:但是,這種行為是危險(xiǎn)的,所以最佳實(shí)踐應(yīng)該是顯示聲明任何項(xiàng)目中直接用到的依賴。生命周期和插件的生命周期生命周期清理項(xiàng)目。生命周期建立和發(fā)布站點(diǎn),分享項(xiàng)目信息。
坐標(biāo)和依賴 依賴沖突的調(diào)節(jié)
當(dāng)包的依賴產(chǎn)生沖突,如A->B->X(1.0)和A->D-X(2.0),應(yīng)該引入X的哪一個(gè)版本?消解沖突的法則如下:
路徑最近者優(yōu)先。
如路徑長度一樣,第一聲明者優(yōu)先。
排除不想要的依賴在引入第三方庫時(shí),會(huì)自動(dòng)的引入它們的依賴,有時(shí)候傳遞的依賴并不是我們想要的,可以用exclusion標(biāo)簽排除不想要的庫,并且自己在依賴中直接引入想要的庫。
使用未聲明的依賴com.tc a 1.0.0 com.tt n com.tt n 4.0
在項(xiàng)目中,可以不在pom中直接聲明你需要的依賴,因?yàn)樵谄渌氲膸熘锌赡芤呀?jīng)包含了這個(gè)依賴。但是,這種行為是危險(xiǎn)的,所以最佳實(shí)踐應(yīng)該是顯示聲明任何項(xiàng)目中直接用到的依賴。
SNAPSHOT的作用依賴模塊的快照版本,會(huì)保持該模塊的定期更新,因?yàn)樵诎l(fā)布snapshot的模塊時(shí),倉庫會(huì)為其打上時(shí)間戳。在用戶使用該模塊時(shí),無需更改pom中模塊的版本號(hào),maven會(huì)自動(dòng)的向倉庫對(duì)比時(shí)間戳是否變化,然后現(xiàn)在最新的版本。
SNAPSHOT版本應(yīng)該只在組織內(nèi)部模塊之間調(diào)試和使用,在真正發(fā)布項(xiàng)目時(shí),應(yīng)該保證所有的依賴的模塊都是發(fā)布版本,否則可能因?yàn)镾NAPSHOT版本的不斷變化而引入bug。
生命周期和插件 Maven的生命周期clean生命周期:清理項(xiàng)目。
default生命周期:構(gòu)建的主要步驟,如compile,是核心部分。
site生命周期:建立和發(fā)布站點(diǎn),分享項(xiàng)目信息。
不同的生命周期又有多個(gè)階段,比如clean有pre-clean、clean和post-clean的階段。
生命周期互相獨(dú)立,但是步驟之間會(huì)有依賴關(guān)系,比如default周期中的test就依賴于test-compile等步驟。
插件目標(biāo)與階段之間的綁定生命周期有多個(gè)階段,一個(gè)插件也有多個(gè)目標(biāo)。比如maven-compiler-plugin插件有compile、testCompile等目標(biāo)。
階段會(huì)和插件目標(biāo)綁定來執(zhí)行自己的功能。比如default周期的complie階段會(huì)和maven-compiler-plugin:compile插件目標(biāo)綁定。
Maven的聚合和繼承多個(gè)模塊可以放在一個(gè)總項(xiàng)目下,然后通過在總項(xiàng)目下一次構(gòu)建所有的子模塊。在總模塊pom中加入如下元素:
A B
子項(xiàng)目可以繼承父項(xiàng)目的pom中配置的參數(shù),如依賴、插件配置等。可以避免重復(fù),還可以統(tǒng)一配置的依賴、插件版本。子項(xiàng)目需要在pom中添加如下部分:
parent.group parent.artifact parent.version
聚合和繼承在maven中是兩個(gè)不同的概念,但是,可以統(tǒng)一在一個(gè)pom文件中。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67925.html
摘要:本文主要記錄下配置的詳細(xì)步驟,便于初學(xué)者快速掌握及運(yùn)用。到這里,配置就算結(jié)束了,在新建一個(gè)項(xiàng)目后,會(huì)根據(jù)中的配置自動(dòng)下載對(duì)應(yīng)包。總結(jié)最基礎(chǔ)的配置已經(jīng)完成,更深入的配置及遇見的坑在實(shí)戰(zhàn)中不斷積累,不斷總結(jié)。 本文主要記錄Windows下IDEA 配置Maven的詳細(xì)步驟,便于初學(xué)者快速掌握及運(yùn)用。 下載Maven 直接到官網(wǎng)下載需要的版本,直接解壓到對(duì)應(yīng)的目錄即可,無需安裝。showIm...
摘要:插件功能非常強(qiáng)大,,方法跳轉(zhuǎn)提示,分頁插件。三地址使用該插件在引入該插件具體使用,我們?cè)谝院蟮闹性賹W(xué)習(xí)具體的方法。更多請(qǐng)參考學(xué)習(xí)筆記一入門 mybatis 插件功能非常強(qiáng)大,mybatis-generator,mybatis-plugin方法跳轉(zhuǎn)提示,mybatis-pagehelper分頁插件。 一、mybatis-generator 1、mybatis-generator配置 先在...
摘要:當(dāng)不存在子類,也不存在子類時(shí),規(guī)范中定義,在這種情況下,為服務(wù)動(dòng)態(tài)生成一個(gè)名為的實(shí)例,并自動(dòng)探測(cè)匹配資源。其中是中的基類,它繼承于情況二當(dāng)不存在子類,但是存在子類時(shí)。以上就是規(guī)范中定義的四種服務(wù)的方式。 最近在學(xué)習(xí) jersey 框架。他是 目前比較流行的 基于 JAX-RS 2.0 規(guī)范實(shí)現(xiàn)的 RESTful 框架。 我是跟著 《Java RESTful Web Service 實(shí)...
摘要:開頭正式開啟我入職的里程,現(xiàn)在已是工作了一個(gè)星期了,這個(gè)星期算是我入職的過渡期,算是知道了學(xué)校生活和工作的差距了,總之,盡快習(xí)慣這種生活吧。當(dāng)時(shí)是看的廖雪峰的博客自己也用做爬蟲寫過幾篇博客,不過有些是在前人的基礎(chǔ)上寫的。 showImg(https://segmentfault.com/img/remote/1460000010867984); 開頭 2017.08.21 正式開啟我...
摘要:前提好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲抱歉了。熟悉我的人都知道我寫博客的時(shí)間比較早,而且堅(jiān)持的時(shí)間也比較久,一直到現(xiàn)在也是一直保持著更新狀態(tài)。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好幾周沒更新博客了,對(duì)不斷支持我博客的童鞋們說聲:抱歉了!。自己這段時(shí)...
閱讀 1129·2021-10-27 14:13
閱讀 2636·2021-10-09 09:54
閱讀 897·2021-09-30 09:46
閱讀 2424·2021-07-30 15:30
閱讀 2166·2019-08-30 15:55
閱讀 3409·2019-08-30 15:54
閱讀 2847·2019-08-29 14:14
閱讀 2771·2019-08-29 13:12