【Maven實戰】依賴的聚合和版本管理

一、在以前的文章中,咱們已經創建了四個Maven項目,可是此時若是咱們要對這四個項目進行編譯打包時,必須一個一個的進行執行命令,而聚合就是指只要咱們在其中一個項目中編寫一些代碼,則在進行此項目的編譯和打包的時候也會自動的將其餘的項目進行編譯和打包!通常狀況下一個項目中可能包含不少的子項目,因此咱們只須要在這個項目的根目錄下創建一個pom.xml便可,不須要在每個子項目中創建一個pom.xml文件,以下:apache

這個是如今struts2的源碼獲得的文件,在struts2這個項目中包含了apps、core等模塊,但只創建了一個pom.xml文件。app

由於在MyEclipse中一個單獨的文件只能存放在一個項目中,因此爲了在MyEclipse中作演示,這裏專門創建一個user-aggregation的項目,用來存放pom.xml文件:框架

以上是user-aggregation和另外四個項目之間的關係,user-aggregation項目中pom.xml文件的內容以下:maven

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4 
 5   <groupId>com.lq.wangzhen.user</groupId>
 6   <artifactId>user-aggregation</artifactId>
 7   <version>0.0.1-SNAPSHOT</version>
 8   <packaging>pom</packaging>    <!-- 此處不是以jar包的形式進行打包,而是以pom的形式進行 -->
 9 
10   <modules>
11      <module>../user-core</module>  <!-- 這裏由於此pom.xml文件在user-aggregation項目中,須要退出一個文件夾才能找到user-core -->
12      <module>../user-dao</module>
13      <module>../user-log</module>
14      <module>../user-services</module>
15   </modules>
16 </project>

 

這樣咱們使用mvn clean install命令執行一下user-aggregation中的pom.xml文件, 就能夠發現會自動的進行另外四個項目的編譯和安裝:oop

 

二、下面咱們介紹一下對於一個項目的版本管理,好比一個Hadoop壓縮包的命名:測試

這裏能夠發現他命名是hadoop-2.0.3-alpha.tar.gz,其中包含了如下的含義:spa

  • 第一個數字表示總版本號(如:2):只要有大的變更的時候就會改變,表示框架有了變更
  • 第二個數字表示分支版本號(如:0):通常表示增長了一些功能
  • 第三個數字表示小版本號(如:3):在分支版本上面進行了bug的修復
  • 第四個表示里程碑版本(如:alpha):發展歷程爲:SNAPSHOT(快照版本,不穩定)--->alpha(內部測試版本)-->beta版本(外部的公測版本)-->release(穩定版本)-->GA(很是穩定版本)
相關文章
相關標籤/搜索