1. 程式人生 > >maven基本常識之二-----版本管理

maven基本常識之二-----版本管理

基礎英文單詞解釋:

svn:subversion

trunk樹幹,主體

module:模組,元件

release:釋放,釋出

plugin:外掛

artifact構件

schema:概要計劃圖表

scm:software configuration management 軟體配置管理:其中有tag,branch,trunk等關鍵詞

不管怎樣,我們都需要建立一個專案並提交到SCM中,這裡我以subversion為例。你得有一個配置好的subversion repository,這裡我建立了一個空的svn倉庫,其地址為:https://192.168.1.100:8443/svn/myapp/ 現在,該目錄下只有三個空的典型的子目錄:/trunk/, branches/, tags/。分別用來存放主幹,分支,以及標籤。

Nexus: Nexus 是Maven倉庫管理器,如果你使用Maven,你可以從Maven中央倉庫 下載所需要的構件(artifact),但這通常不是一個好的做法,你應該在本地架設一個Maven倉庫伺服器,在代理遠端倉庫的同時維護本

snapshot快速的照相,快照!!!

比如我有一個專案,其artifactId為myapp,隨著專案的進展,我們會生成這樣一些jar:myapp-1.0- SNAPSHOT.jar,myapp-1.0.jar,myapp-1.1-SNAPSHOT.jar,myapp-1.0.1.jar等等。

自動化版本釋出(如果你的專案有幾十個 module,你就會覺得手工改POM來升級版本是很痛苦的事情),結合自動化釋出的過程,這裡還會介紹maven-release-plugin(自動化版本釋出外掛)

POM中改個version

mvn install後,新改的內容不生效,一定要後來使用mvn clean install 才生效

mvn install:執行mvn install,會執行前面一系列的動作包括 compile , package , test 等

mvn package打包

或者mvn clean install

專案到一個階段後,就需要釋出一個正式的版本(release版本)。一次正式的釋出需要這樣一些工作:

  1. 在trunk中,更新pom版本從1.0-SNAPSHOT到1.0
  2. 對1.0打一個svn tag
  3. 針對tag進行mvn deploy,釋出正式版本
  4. 更新trunk從1.0到1.1-SNAPSHOT