MVN是一個項目構建和管理工具
將項目管理規范化,自動化,幫助管理項目編譯構建,文檔,依賴管理和發布。
會用到以下重要的概念:
POM:maven工作的基礎,project object model, 執行goal或者task的之前,會根據pom.xml讀取配置。
pom中有這些節點,model version, groupid, artifactid, dependency, description, URL, parent,
artifact:項目產生的工具,可以是源文件,war,jar等文件。需要被使用的artifact都放到倉庫中。使用groupid.artifactid.version作為標識符。
repository:倉庫,用來存儲artifact的,
使用mvn install來把項目安裝到倉庫中。
倉庫又分為遠程倉庫和本地倉庫。
Build Lifecycle是指一個項目build的過程。
分為三種,default, clean和site。
分為幾個phases階段。
validate
compile
test
package
integration-test
verify
install
deploy
GOAL代表一個特定任務
maven創建項目是根據Archetype(原型)創建的
Archetype
maven是根據原型創建的。
(1) 創建quick-start工程
創建一個簡單的quick start項目,指定 -DarchetypeArtifactId為maven-archetype-quickstart,如下命令
編譯 mvn compile
打包 mvn package,此時target目錄下會出現maven-quickstart-1.0-SNAPSHOT.jar文件,即為打包后文件
打包並安裝到本地倉庫mvn install,此時本機倉庫會新增maven-quickstart-1.0-SNAPSHOT.jar文件。
(2) 創建webapp
MVN archetype:generate -Dgroupid=com.trinea.maven.web.test -Dartifactid=maven-web -DarchetypeArtifactID=maven-archetype-webapp -DinteractiveMode=false
src\main\resources文件夾是用來存放資源文件的,maven工程默認沒有resources文件夾,如果我們需要用到類似log4j.properties這樣的配置文件,就需要在src\main文件夾下新建resources文件夾,並將log4j.properties放入其中。
test需要用到資源文件,類似放到src\test下
對於apache的log4j沒有log4j.properties文件或是目錄錯誤,會報如下異常
MVN的常見命令有:
MVN ARTHETYPE:GENERATE 創建MAVEN項目
MVN PACKAGE 打包
MVN INSTALL 打包並安裝到本地庫
MVN PACKAGE -PRELEASE 生成部署用的包
MVN ECLIPSE:ECLIPSE 生成eclipse項目文件
MVN ECLIPSE:CLEAN 清理項目
MVN SITE 生成項目相關的網站
簡單故障排除
MVN --HELP
MVN配置
1. 修改項目的POM文件
2.修改maven安裝目錄的conf文件夾下的setting.xml