Maven高階
一、Maven的項目管理
1.Maven工程的jar包統一版本控制
目的:爲了解決jar包衝突
<properties>
<!-- .properties文件是鍵值對
<properties>標籤中也是鍵值對:jar包名和版本的鍵值對、項目編碼信息等
key:ujiuye.spring.version value=版本號
-->
<ujiuye.spring.version>4.1.6.RELEASE</ujiuye.spring.version>
</properties>
使用maven建議所有的版本聲明都寫到properties標籤中
注意:這種只能解決拆分的maven項目
2.Maven項目的拆分和繼承
Maven項目拆分後有可能產生jar包衝突
例如:taobao項目可以拆分爲:
dao模塊
service模塊
controller模塊
如果各個模塊之間使用的jar包版本不在本項目,在聚合的時候可能會產生jar包衝突。
解決方案:
使用Maven繼承:
父工程:子模塊中需要依賴的所有jar包及其版本
子模塊:所有子模塊繼承父工程
最終實現整個工程的版本統一
二、Maven的生命週期
任何一個工具或者生物的生命週期都可以分爲生、活、死
maven的生命週期也是如此:
maven的生命週期又分爲多個階段
Clean lifecycle:clean 生命週期
1.Pre clean
2.Cleaning
3.Post clean
Default Lifecycle:Maven默認的生命週期
compile test package install
Site Lifecycle:
把maven生成爲一個站點;文檔 類似於java的文檔註釋
三、Maven的總結
使用maven拆分項目後:
不同的module之間需要調用時:
一定要添加依賴到需要調用module
例如:service模塊需要調用dao模塊的對象方法
添加一個依賴:
默認情況下,座標三要素都不可缺失,但是子模塊中添加父工程中的jar包可以省略,建議省略版本號。