Clean Lifecycle
运行mvn clean
执行clean生命周期,包含三个生命周期阶段:
pre-clean
clean
post-clean
clean:clean
会删除一次构建后的输出,默认删除_${basedir}/target/_目录(如果你没有自定义输出目录)。
执行clean
阶段的时候,maven可以执行任何绑定到pre-clean
阶段的_goal_(目标)。
例如:你想在pre-clean
阶段时触发antrun:run
_goal_来输出一个通知,或者想在构陷目录删除时,打包一下。
**Triggering a Goal on pre-clean. **
<project>
...
<build>
<plugins>... <plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>file-exists</id>
<phase>pre-clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>hello world</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
我们还可以自定义clean插件的删除目录(即除了默认的目录,再删除别的目录)。可以配置fileSet
配置项,该配置支持ant的通配符。
**Customizing Behavior of the Clean Plugin. **
<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>
Default Lifecycle
maven的默认生命周期,有如下阶段:
Lifecycle Phase | Description |
---|---|
validate | 验证项目的正确性和完成该构建的必要信息 |
generate-sources | 生成包含在编译之中的源代码 |
process-sources | 处理源码,如过滤某些值 |
generate-resources | 生成资源文件,这些文件会包含到打包中 |
process-resources | 将资源文件复制到目标目录,并处理,准备打包 |
compile | 编译源码 |
process-classes | 对生成的类文件后处理,如字节码增强 |
generate-test-sources | 生成测试代码 |
process-test-sources | 处理测试代码 |
generate-test-resources | 生成测试用的资源文件 |
process-test-resources | 复制资源文件到测试目录 |
test-compile | 编译测试代码 |
test | 测试 |
prepare-package | 打包前的准备工作 |
package | 打包,如JAR,WAR等 |
pre-integration-test | 集成测试准备 |
integration-test | 集成测试 |
post-integration-test | 集成测试后的工作 |
verify | 检查验证生成的java包 |
install | 安装到本地仓库 |
deploy | 部署到目标地址 |
Site Lifecycle
暂时用不到,不整理