-
maven介紹
maven是構建工具,也是構建管理工具。ant只是構建工具,因爲不支持生成站點功能,只有預處理,編譯,打包,測試,部署等功能。
-
maven座標
groupId:項目組織的逆向域名,比如Apache的項目可以org.apache開頭
artfactId:表示groupId下單個項目的唯一標識
version:發佈項目的版本,版本標識加上SNAPSHOT標記
packing:項目打包後的輸出,默認爲jar。指爲war項目打包生成一個web項目。
groupId,artfactId,version標識項目的唯一性,packing可以缺省
-
maven生命週期
介紹mvn package的生命週期,運行此命令的時候,有下圖的幾個階段(左側爲階段,右側爲階段)
resources:resources:Resources插件把resources目標綁定到resources階段,還有就是src/main/resources下的資源和配置輸出到目標目錄
compiler:compile:Compiler插件把complie目標綁定到compile階段,還有就是把src/main/java下的源代碼和配置文件輸出到目標目錄
resources:testRescources:Resources插件把tetsResources目標綁定到resources階段,把src/test/resources下的資源和配置輸出到目標目錄
compiler:testCompile:Cpmpiler把compiler目標綁定到compile階段,把src/test/java下的源代碼和配置文件輸出到目標
surefire:test:Surefire插件把test目標綁定到test階段
jar:jar:Jar插件把jar目標綁定到package階段,打包輸出jar文件
-
maven倉庫
默認倉庫:http://repo1.maven.org/maven2/
本地倉庫地址:C:\Users\baobao\.m2\repository
第一運行maven的時候,會從默認倉庫下載很多默認的插件。構建項目的插件默認都是遠程下載的。
默認倉庫的地址,可以修改 。可以指向自己的服務器(用Apache Archiva搭建 maven 倉庫服務器)。
-
maven依賴關係
maven依賴的不僅僅是一個jar文件,還有一個pom文件。這個pom文件聲明瞭jar對其他的jar的依賴。這種依賴稱之爲傳遞性依賴 。
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
scope爲test的時候,說明依賴範圍是test,只有運行compile:testCompile和surefire:test目標的時候纔會使用。其它的範圍類似。
scope爲provided的時候,依賴只是在編譯的時候。
-
maven生成站點
運行mvn site命令,會在target/site目錄下面看到一個web站點,運行index.html可以看到項目的一些基本信息,比如開發者