對於maven進行項目構建時,我們會使用到插件,對構建過程進行一些控制,加工,加密,重寫,依賴打包等工作,一般我們打包時會把phase定為package,意思是說,當進行package動作后,處理你的插件。
多個相同phase的順序
當我們有多個plugin,並且相同phase時,有時需要考慮到順序問題,因為你的plugin可能會有某個其它plugin的結果的依賴,所以我們需要控制
<plugins>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>classfinal-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
如上面兩個插件maven-shade-plugin和classfinal-maven-plugin都綁定了package階段,它們的執行順序是怎樣的呢?
,答案很清晰:誰放在前面,誰先執行!