1.clean
用於清除之前構建生成的所有文件
其中具體為清楚了Target目錄中的所有文件,包括該目錄
i.e:刪除了install生成的所有文件
2.validate
用於驗證項目是否真確,並且其說有必要信息是否都可用
3.compile
編譯項目的源代碼,主要是java文件
一般是編譯scr/main/java或是scr/test/java里面的文件
4.test
用合適的測試框架來進行測試,測試compile中編譯出來的代碼
測試的東西一般不加包和部署
5.packaging
獲取compile中編譯好的代碼並將其打包成可分類的格式,i.e:JAR
6.vertify
這步是用來驗證test
檢查test的結果是否滿足標准
7.install
將軟件包安裝到本地存儲庫中
確保本地其他項目可能需要使用他(eg:裝了core才能用oms)
9.deploy
復制最終的包至遠程倉庫
共享給其它開發人員和項目
PS:在install的時候可能會出現亂碼,此時對着install點右鍵,選擇create xxx install
在command line里寫 install -Dmaven.test.skip=true -f pom.xml 然后用新寫的命令代替舊的install即可
plugin
<dependency>
幫組分析項目依賴
依賴就是在maven里面要用哪個包就在<denpendency>標簽里面寫東西
一般不用自己寫
可以在google里面搜索“maven xxx repository”
或者直接在http://mvnrepository.com/里面搜索xxx
<resources>
將資源文件過濾
resources用來處理資源
compiler用來編譯java文件
<jetty>
快速在web上部署
進行調試的時候比較方便和節省時間
<build>
可以分為
<project build>全局配置:為全局有效
<profile build>配置:為針對不同的profile配置
build里面有<resource>和<plugin>兩種標簽
他們都是把一些默認方法放在其他文件路徑的文件放到“src/main/java”里面
<packaging>
打包方式主要有JAR和WAR兩種
其中JAR用於比較小的項目,好處為不用依賴包,因為他把應用依賴的所有依賴包和程序打包在一個全量包里,他說packaging的默認方式
WAR適用於需要部署的項目
<scope>
適用范圍主要分為test和provided兩種
test對測試范圍有效
provided對編譯和測試過程都有效
PS:
1.匹配符**可以匹配路徑,*只能匹配名字
2.如果啟動失敗先看錯誤信息
3.jetty:run要create一個再運行,不用直接運行,因為直接運行可能會調用到了其他人的profiles
4.運行maven之前先看一塊profile的配置環境有沒有勾選錯別人的環境