下載下傳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。