Maven生命週期和及外掛原理用法詳解
阿新 • • 發佈:2020-08-06
maven週期
maven的生命週期不止package,compile,clean。其實這是主要部分。
以下截圖其實展示的是maven的所有周期。
maven的生命週期,主要分為3套(其實每個生命週期下面都分為一些階段,如上截圖所示):
1、clean週期:負責清理專案(清理上一次編譯的檔案)。
2、default週期: 主體週期,負責完成專案構建主體過程。
3、site週期:建立站點(生成站點文件,傳送站點到伺服器)。
週期之間是獨立的,週期內部的各個階段是相互依賴的。
例如我執行install,這個階段是處於default週期內部的,所以這個時候,會從最早的階段執行到install。post-clean以及前面的是屬於clean週期的。
所以
例如mvn clean compile是可以的,但是mvn compile install就沒必要了,compile和install是屬於同一個週期內的。
maven外掛
其實maven的週期是一個規範真正執行的是maven的外掛。階段執行的時候,其實執行的是maven的外掛,每個外掛又包含很多的goal,所以外掛執行的時候就是執行每一個目標。
新增maven的外掛:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> </plugin> </plugins> </build>
新下下來的外掛:
maven的resources目錄
右側的外掛其實有個resources外掛。resources外掛,負責將配置檔案複製到編譯目錄中。
兩種配置檔案main-resources、test-resources
maven預設只關注resources目錄下的配置檔案,其他目錄下的配置檔案會被忽略。
如果有配置檔案不在resources目錄下,這個時候就需要額外的配置:
<build> <resources> <resource> <directory> src/main/java </directory> </resource> </resources> </build>
如果需要排除一些檔案:
<resources> <resource> <directory> src/main/java </directory> <!--排除所有的txt檔案,其他的檔案都會被複制--> <excludes> <exclude>**/*.txt</exclude> </excludes> </resource> </resources>
如果只包含一些檔案:
<resources> <resource> <directory> src/main/java </directory> <!--除了txt檔案,其他的檔案都不會被複制--> <includes> <include>**/*.txt</include> </includes> </resource> </resources>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。