天天看點

maven的使用筆記

下載下傳zip包解壓,将bin目錄配置至PATH(最好是配置HOME然後引用)

修改conf下53行的setting标簽,指定本地倉庫的路徑

在eclipse或Myeclipse中add,并采用自己的setting檔案

mvn archetype:generate :建立 Maven 項目

-DgroupId=組織名/公司網址的反寫+項目名

-DartifactId=項目名-子產品名

-Dversion=版本号

-Dpackage=代碼所在的包

mvn compile :編譯源代碼

mvn test-compile :編譯測試代碼

mvn test : 運作應用程式中的單元測試

mvn site : 生成項目相關資訊的網站

mvn clean :清除目标目錄中的生成結果

mvn package : 依據項目生成 jar 檔案

mvn install :在本地 Repository 中安裝 jar

mvn deploy:将jar包釋出到遠端倉庫

mvn eclipse:eclipse :生成 Eclipse 項目檔案

mvn install:install-file -Dfile=D:\mvn\spring-context-support-3.1.0.RELEASE.jar

-DgroupId=org.springframework -DartifactId=spring-context-support

-Dversion=3.1.0.RELEASE -Dpackaging=jar

高版本自帶maven,需要注意的是eclipse的JRE環境目錄要選擇jdk下的JRE

坐标:三個标簽唯一的辨別了項目

倉庫:jar包的集合目錄

本地倉庫

遠端倉庫

項目A依賴B

A項目 pom.xml中配置依賴 (構件三要素)

B項目 先clean package

然後build 的 install

A 項目 compile

依賴路徑短優先

1 A->B->C->X(jar檔案)

2 A->C->X(jar檔案)

會選擇 2 中的X的jar版本

先聲明的優先

建立一個項目作為父項目,可以删除Test目錄(無用)

然後在需要引用父項目pom檔案的地方加上parent 标簽裡面寫上 父項目的三要素

建立maven 選擇webapp 然後輸入三要素

但是因為模闆預設的是web2.3,是以要手動修改成3.0

2.navigator目錄模式下 修改相關檔案,把2.3改成3.0

3.eclipse中右擊改動Facets 然後maven-update一下就可以了

特别注意 NIO的原因,靜态檔案在伺服器啟動的時候不能更改,需要找到maven倉庫下的org/eclipse/jettyjetty-webapp/

下的jar包中的default配置檔案,把useFileBuffer标簽的 true 改成false

部署成功後,使用jetty:run 即可運作起伺服器

去Tomcat官網 找到maven plugins進入找到想要的版本即可

部署完成後 tomcat7:deploy 運作伺服器

javax.servlet

javax.servlet-api

3.0.1

provided

1.ant腳本是可以直接運作在maven中的。maven和ant最大的差别就是在于maven的編譯以及所有的腳本都有一個基礎,就是POM(project object model)。這個模型定義了項目的方方面面,然後各式各樣的腳本在這個模型上工作,而ant完全是自己定義,顯然maven更勝一籌。

2.maven對所依賴的包有明确的定義,如使用那個包,版本是多少,一目了然。而ant則通常是簡單的inclde 所有的jar。導緻的最終結果就是,你根本無法确定JBoss中的lib下的common-logging 是哪個版本的,唯一的方法就是打開 META-INF 目錄下MANIFEST.MF。

3.maven是基于中央倉庫的編譯,即把編譯所需要的資源放在一個中央倉庫裡,如jar,tld,pom,等。當編譯的時候,maven會自動在倉庫中找到相應的包,如果本地倉庫沒有,則從設定好的遠端倉庫中下載下傳到本地。這一切都是自動的,而ant需要自己定義了。這個好處導緻的結果就是,用maven編譯的項目在釋出的時候隻需要釋出源碼,小得很,而反之,ant的釋出則要把所有的包一起釋出,顯然maven又勝了一籌。

4.maven有大量的重用腳本可以利用,如生成網站,生成javadoc,sourcecode reference,等。而ant都需要自己去寫。

5.maven目前不足的地方就是沒有象ant那樣成熟的GUI界面,不過mavengui正在努力中。目前使用maven最好的方法還是指令行,又快又友善

協同開發的基本規範,為大家提供友善的協作的模式,能增加代碼的複用,提高生産率。

提供友善,規範化的打包方法,是公司完成自動建構系統的核心部分,能幫助提高靈活開發的效率(靈活開發提倡盡早內建)。

減少備援,減少出錯的可能。

中心資源庫管理,能減低源碼庫的大小,中心資源庫可以統一定期備份。

目錄結構規範,讓開發者從一個maven項目過度到另一maven項目很容易。

大量的開源項目使用了maven。

繼續閱讀