1. 程式人生 > 其它 >Maven+eclipse+svn專案構建

Maven+eclipse+svn專案構建

用maven eclipse:eclipse 匯入一個專案的後,如果在pom中加入了新的依賴,eclipse顯示沒有引入(比如呼叫依賴的一個類,會提示這個類沒有引入),其實依賴已經加入到專案中。解決方法:maven eclipse:clean  然後在maven eclipse:eclipse maven對大多數人來說應該只是聽過而沒有真正的瞭解過,我也今天才找了些資料試驗了一下,發現確實對於專案管理來說是一個難得的好工具。簡單來 說,maven就是一個基於命令列可以對專案整個生命週期—構建、測試、資源管理、文件、釋出等一系列過程,進行管理的工具,之所以強調是命令列是以為對 於一個通用的專案構建工具是不應該依賴於IDE和平臺的,和ant是相似的。
    與ant的比較:可以簡單的理解為ant的升級換代版本,思想上從ant上完全的脫離出來,少了配置檔案,只要安裝後執行命令就可以進行構建,配置檔案 就只有一個pom.xml,簡約並不意味著簡單,maven提供了比ant更強大的功能,其中我最中意的就是包的依賴管理機制—當你構建專案 時,maven自動從網站上下載需要的依賴包。maven的功能有待挖掘,運用好了箇中好處遠遠超乎想像。   接下來,運用maven+eclipse+svn構建一個示例專案: 1、工具:環境ubuntu7.10 a)mavenhttp://maven.apache.org/download.html b)M2eclipse--線上安裝http://m2eclipse.codehaus.org/update/ c)Eclipse不用說了 d)Subeclipse版本控制的得力工具 e)mylyn不是必須的,任務驅動程式設計工具 2、安裝:
a)maven安裝在ubuntu上,直接下載包解壓到/opt目錄,
設定路徑
 sudo gedit /etc/environment
將/opt/maven/bin新增到路徑中
path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/maven/bin"
b)安裝eclipse的外掛
3、構建專案:
a)現在我們要構建一個主專案,專案底下有兩個子專案
jsf
   |-jsf.core
   |-jsf.web
b)先構建主專案:
工作目錄為/home/linq/research/jsf/
mvn archetype:create -DgroupId=linq.jsf -DartifactId=jsf
我們要將這個目錄設定為主目錄,將生成的src目錄刪除,修改pom.xml
<packaging>pom</packaging>
c)構建子專案:專案又core核心元件,和web工程組成
i.cd jsf
ii.構建普通java jar專案
iii.mvn archetype:create -DgroupId=linq.jsf.core -DartifactId=jsf-core
iv.構建web專案(注意紅色字型)
v.mvn archetype:create -DgroupId=linq.jsf.web -DartifactId=jsf-web -DarchetypeArtifactId=maven-archetype-webapp
d)檢視各個專案的pom.xml檔案,可以看出各個子專案都在主專案的控制控制下,可以通過主專案釋出打包專案
e)建立eclipse專案屬性
i.cd jsr-core
ii.mvn eclipse:eclipse
iii.建立eclipse web屬性
iv.cd ../jsf-web
v.mvn eclipse:eclipse -DdownloadSource=true -Dwtpversion=1.0
f)使用eclipse import工程
 
g) 可以是使用選單命令新增依賴包

 
h) 
    查詢依賴包,選擇後即可以自動將包載入到專案中

 
 
i) 
    使用自帶的命令就可以將專案構建釋出
注 意事項:由於一些依賴包授權的關係,有些需要手工新增,比如jta的包,需要從sun上下載jta-1_0_1B-classes.zip,然後解壓通過 命令mvn install:install-file -Dfile=/home/linq/temp/jta-1_0_1B-classes.zip -DgroupId=javax.transation -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
建立jta的包到mvn的庫中x