Maven+eclipse+svn專案構建
阿新 • • 發佈:2022-05-11
用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