1.Maven是純Java編寫的開源項目管理工具,採用一種POM的方式來管理項目html
POM:工程對象模型,即把工程看成對象來處理
全部的項目配置信息都定義的pom.xml文件中,經過該文件Maven管理項目的整個生命週期java
2.maven特色:web
依賴管理:經過pom.xml配置文件將各個分散的項目自動的關聯起來app
項目自動構建webapp
3.Maven下的目錄maven
src/main/java 項目的源代碼所在的目錄ide
src/main/resources 項目的資源文件所在的目錄工具
src/main/filters 項目的資源過濾文件所在的目錄測試
src/main/webapp 若是是web項目,則該目錄是web應用源代碼所在的目錄,好比html文件和web.xml等都在該目錄下。ui
src/test/java 測試代碼所在的目錄
src/test/resources 測試相關的資源文件所在的目錄
src/test/filters 測試相關的資源過濾文件所在的目錄
target 輸出目錄,全部的輸出都存放在這個目錄下
4.pom.xml文件
groupId:項目組的編號,在組織中或者項目中是惟一的
artifactId:項目的名稱
version:項目的版本
groupId-artifacted-version:惟一肯定一個項目
packaging:打包的方式
modules:多模塊的工程描述
dependencies:依賴的jar集合
plugins:項目中引用的插件
build:構建時的設置
resources:項目中資源文件的位置
profiles:設置管理,管理項目引用不一樣的環境設置
distributionManagement:告訴別的項目如何抓取本項目
5.插件的做用:
archetype:項目的骨架
clean:清理生成的target文件
validate:由maven核心負責,驗證maven文件是否有效
compile:編譯Java源碼
test:運行測試代碼
package:項目打包
install:將軟件包安裝到本地倉庫
site:生成項目站點
deploy:將軟件包部署在遠程倉庫
6.settings.xml文件
做用:設置maven參數的配置文件
pom.xml文件是所在項目的局部配置
全局配置:${ M2_HOME}/conf/settings.xml
用戶配置:user/.m2/settings.xml
優先級:pom.xml > user.settings.xml > global.settings.xml
settings文件各個標籤:
servers:配置一些倉庫的下載和部署的用戶名密碼
profils:根據環境參數來調整構建配置的列表
repositories:遠程倉庫列表
pluginsRepositories:發現插件的遠程倉庫列表
pluginGroups:當插件的組織Id沒有顯示提供時,共搜尋插件組織Id的列表
mirrors:爲倉庫列表配置的下載鏡像列表