1. 程式人生 > 程式設計 >Maven生命週期和及外掛原理用法詳解

Maven生命週期和及外掛原理用法詳解

maven週期

maven的生命週期不止package,compile,clean。其實這是主要部分。

以下截圖其實展示的是maven的所有周期。

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的外掛。階段執行的時候,其實執行的是maven的外掛,每個外掛又包含很多的goal,所以外掛執行的時候就是執行每一個目標。

Maven生命週期和及外掛原理用法詳解

新增maven的外掛:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.1</version>
      </plugin>
    </plugins>
  </build>

新下下來的外掛:

Maven生命週期和及外掛原理用法詳解

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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。