1:概念java
Maven是跨平臺的項目管理工具。做爲Apache組織中的一個頗爲成功的開源項目,主要服務於基於java平臺的項目構建、依賴管理和項目信息管理。web
2:特色spring
(1)自動構建:傻瓜化、高度自動化、一部構件eclipse
(2)依賴管理:自動下載相關jar包,統一依賴管理工具
(3)項目信息管理:項目信息、開發人員信息、開發者信息、文檔自動生成post
3:約定測試
目 錄spa |
用 途hibernate |
|
1插件 |
src/main/java |
存放項目的java文件 |
2 |
src/main/resources |
存放項目資源文件,如spring、hibernate的配置文件 |
3 |
src/test/java |
存放全部測試的java文件 |
4 |
src/test/resources |
測試資源文件 |
5 |
target |
項目輸出位置,每次構建自動產生 |
6 |
pom.xml |
Maven工程配置文件,相對於web工程中的web.xml |
4:座標
Maven世界擁有大量構建,咱們須要找一個用來惟一標識一個構建的統一規範
座標主要組成
5:依賴管理
依賴範圍scope
傳遞性依賴
傳遞性依賴原則:
6:生命週期管理
Maven生命週期就是爲了對全部的構建過程進行抽象和統一,包括項目清理,初始化,編譯,打包,測試,部署等幾乎全部構建步驟
三大生命週期
compile—> test—> package—> install—> deploy
7:繼承與聚合
繼承:
繼承爲了消除重複,咱們把不少相同的配置提取出來
聚合:
若是咱們想一次構建多個項目模塊,那咱們就須要對多個項目模塊進行聚合
4:mvn命令
mvn 插件名:目標名
(mvn compile 隱含沒有顯式的指定)
清除 mvn clean
編譯 mvn compile
測試 mvn test 執行junit測試,並輸出報告
測試某一個測試類 mvn test -Dtest=MldcCompanyServiceImplTest
打包 mvn package 生成jar包
安裝 mvn install 發佈到我的倉庫中
轉成eclipse項目 mvn eclipse:eclipse
生成依賴樹 mvn dependency:tree > tree.txt
注:(1)運行mvn命令必須在pom.xml同路徑下
(2)pom.xml文件中文亂碼問題:
將pom.xml文件另存,保存時選擇utf-8格式便可
(3)若更改了用戶的setting.xml文件。必定要在Maven-->Uer setting中Update Setting
(4)