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

暂时用不到,不整理

Maven build lifecycle的更多相关文章

  1. Maven Build Life Cycle--reference

    What is Build Lifecycle? A Build Lifecycle is a well defined sequence of phases which define the ord ...

  2. maven:log4j:WARN No appenders could be found for logger (loggerInfo).或者maven build error:org.apache.maven.lifecycle.LifecycleExecutionExceptio

    maven在build构建时,加载资源文件时需要配置资源文件插件: 1,在pom.xml文件中加入 <build> <finalName>${project.build.tar ...

  3. Introduction to the Build Lifecycle

    Introduction to the Build Lifecycle Table Of Contents Build Lifecycle Basics Setting Up Your Project ...

  4. 在eclipse如何删除无效的maven build

    在Eclipse的maven项目中,点击一次“maven build...”明明没有配置,它也就会产生一个maven build,那么如何删除这些无效的配置呢?

  5. Maven Build Profiles--reference

    What is Build Profile? A Build profile is a set of configuration values which can be used to set or ...

  6. No compiler is provided in this environment. --Maven build失败

    今天,maven build 失败了, 遇到下面的问题 经过查找,通过这个大佬的blog(  https://blog.csdn.net/lslk9898/article/details/738367 ...

  7. Spring Boot-右键maven build成功但是直接运行main方法出错的解决方案

    1.代码就一个Controller,从官网复制过来的,如下 package com.springboot.controller; import org.springframework.boot.Spr ...

  8. 转:eclipse maven build、maven install 等区别

    原文地址:eclipse maven build.maven install 等区别

  9. maven build的常用生命周期

    常用的maven build goals: validate - validate the project is correct and all necessary information is av ...

随机推荐

  1. Python标准模块--argparse

    1 模块简介 你一定很奇怪Python是如何命令行中的变量的吧?argparse就是用来解决这个问题的,argparse是optparse的替代. 2 模块使用 2.1 开始 我发现解释一个编程的概念 ...

  2. SQL Tuning 基础概述03 - 使用sql_trace和10046事件跟踪执行计划

    1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session ...

  3. Vertica 安装,建库,新建测试用户并授予权限,建表,入库

    测试环境:RHEL 6.4 + Vertica 6.1.3-7 需求:搭建Vertica数据库3节点的测试环境,建立测试用户,建表,测试数据入库. 1.各节点关闭防火墙和SELinux,配置主机名,I ...

  4. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  5. 【分布式】Zookeeper服务端启动

    一.前言 前面已经了解了Zookeeper会话相关知识点,接着来学习Zookeeper服务端相关细节. 二.服务端 服务端整体架构如下 Zookeeper服务器的启动,大致可以分为以下五个步骤 1. ...

  6. Linux 解决数量庞大wildfly容器启动与停止的脚本

    一.问题 因公司业务的发展,后台架构的变更,导致测试环境(Linux)部署与管理困难成倍增长,duang的一下,增加N倍.进入正题说问题: 问题1.  测试环境包含普通用户环境.开发者用户环境,原来只 ...

  7. GitHub更新自己Fork的项目

    转自:http://www.tuicool.com/articles/MzMJre github上有个功能叫fork,可以将别人的工程复制到自己账号下.这个功能很方便,但其有一个缺点是:当源项目更新后 ...

  8. 成吨提高开发效率:Intellij Shortcuts精简子集与思维模式

    在线精简cheatsheet备查表:intellij.linesh.twGithub项目:intellij-mac-frequent-keymap Intellij的快捷键多而繁杂,从官方推荐的key ...

  9. java.lang.Class.isPrimitive()用法解析

    一.概述: 此方法主要用来判断Class是否为原始类型(boolean.char.byte.short.int.long.float.double). 二.格式: Class.isPrimitive( ...

  10. 解决 Tomcat Server in Eclipse unable to start within 45 seconds 不能启动的问题

    1.在 Eclipse 下方  Servers TAB页,双击 "Tomcat 7.0 at localhost": 2.在右上角处点开 Timeouts 的设定,修改Start( ...