MAVEN生命周期
1、Clean生命周期
運作mvn clean将調用清理生命周期,它包含三個生命周期階段:
pre-clean、clean、post-clean;
通過運作mvn clean而不是mvn clean:clean,能讓MAVEN有機會執行其他被綁定到pre-clean
階段的目标。下面是一個例子:
例一、在pre-clean階段觸發一個目标
<project>
.......
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>file-exists</id>
<phase>pre-clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antcontrib/properties"/>
<available file="${project.build.directory}/${project.build.finalName}.${project.packaging}" property="file.exists" value="true"/>
<if>
<not>
<isset property="file.exists"/>
</not>
<then>
<echo>No ${project.build.finalName}.${project.packaging} to delete</echo>
</then>
<else>
<echo>
Delete ${project.build.finalName}.${project.packaging}
</echo>
</else>
</if>
</tasks>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
例二、自定義clean插件的行為
<project>
<modelVersion>4.0.4</modelVersion>
...
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>target-other</directory>
<includes>
<include>*.class</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
</build>
</project>