一.Maven入門
1.1.maven定義:
maven是跨平臺的項目管理工具,主要服務於基於java平臺的項目構建,依賴管理和項目信息管理;
1.2.maven項目構建:
項目構建過程包括【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【部署項目】這幾個步驟,這六個步驟就是一個項目的完整構建過程。理想的項目構建是高度自動化,跨平臺,可重用的組件,標準化的,使用maven就可以自動完成項目構建過程。
1.3.優點:
- Maven中使用約定,約定java源代碼代碼必須放在哪個目錄下,編譯好的java代碼又必須放到哪個目錄下,這些目錄都有明確的約定;
- Maven的每一個動作都擁有一個生命週期,例如執行 mvn install 就可以自動執行編譯,測試,打包等構建過程;
- 只需要定義一個pom.xml,然後把源碼放到默認的目錄,Maven幫我們處理其他事情;
- 使用Maven可以進行項目高度自動化構建,依賴管理(這是使用Maven最大的好處),倉庫管理;
1.4.常用命令:
使用Maven編譯項目,編譯項目的命令是:"mvn compile";
使用Maven清理項目,清理項目的命令是:"mvn clean";
- 使用Maven測試項目,測試項目的命令是:"mvn test";
- 使用Maven打包項目,打包項目的命令是:"mvn package";
使用Maven部署項目,部署項目的命令是:"mvn install";就把maven構建項目的【清理】→【編譯】→【測試】→【打包】的這幾個過程都做了,同時將打包好的jar包發佈到本地的Maven倉庫中;
1.5.maven創建項目:
mvn archetype:create或者mvn archetype:generate 固定寫法
-DgroupId 組織標識(包名)
-DartifactId 項目名稱
-DarchetypeArtifactId 指定ArchetypeId,maven-archetype-quickstart,創建一個Java Project;maven- archetype-webapp,創建一個Web Project
-DinteractiveMode 是否使用交互模式
archetype是mvn內置的一個插件,create任務可以創建一個java項目骨架,DgroupId是軟件包的名稱,DartifactId是項目名,DarchetypeArtifactId是可用的mvn項目骨架,目前可以使用的骨架有:
- maven-archetype-archetype
- maven-archetype-j2ee-simple
- maven-archetype-mojo
- maven-archetype-portlet
- maven-archetype-profiles (currently under development)
- maven-archetype-quickstart
- maven-archetype-simple (currently under development)
- maven-archetype-site
- maven-archetype-site-simple
- maven-archetype-webapp
每一個骨架都會建相應的目錄結構和一些通用文件,最常用的是maven-archetype-quickstart和maven-archetype-webapp骨架。maven-archetype-quickstart骨架是用來創建一個Java Project,而maven-archetype-webapp骨架則是用來創建一個JavaWeb Project。
1.6.maven搭建nexus私服:
爲什麼要搭建nexus私服,原因很簡單,有些公司都不提供外網給項目組人員,因此就不能使用maven訪問遠程的倉庫地址,所以很有必要在局域網裏找一臺有外網權限的機器,搭建nexus私服,然後開發人員連到這臺私服上,這樣的話就可以通過這臺搭建了nexus私服的電腦訪問maven的遠程倉庫。