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. Event事件

    妙味课堂-Event事件 1.焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式: 1.点击 2.tab 3.js 2.(例子:输入框提示文字) ...

  2. 从零开始编写自己的C#框架(23)——上传组件使用说明

    文章导航 1.前言 2.上传组件功能说明 3.数据库结构 4.上传配置管理 5.上传组件所使用到的类 6.上传组件调用方法 7.效果演示 8.小结 1.前言 本系列所使用的是上传组件是大神July开发 ...

  3. C#多线程之基础篇1

    在多线程这一系列文章中,我们将讲述C#语言中多线程的相关知识,在多线程(基础篇)中我们将学习以下知识点: 创建线程 中止线程 线程等待 终止线程 确定线程的状态 线程优先级 前台线程和后台线程 向线程 ...

  4. 使用Design包实现QQ动画侧滑效果和滑动菜单导航

    Google在2015的IO大会上,给我们带来了更加详细的Material Design设计规范,同时,也给我们带来了全新的Android Design Support Library,在这个supp ...

  5. 详解javascript的类

    前言 生活有度,人生添寿. 原文地址:详解javascript的类 博主博客地址:Damonare的个人博客 Javascript从当初的一个"弹窗语言",一步步发展成为现在前后端 ...

  6. asp.net读取模版并写入文本文件

    本文要介绍的是ASP.NET怎样读写文本文件,但更重要的是实现的过程.使用的工具是Visual Studio 2015 ,.NET版本是4.6.1 .一共建立的2个项目,HoverTreePanel和 ...

  7. C#中HttpClient使用注意:预热与长连接

    最近在测试一个第三方API,准备集成在我们的网站应用中.API的调用使用的是.NET中的HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpCl ...

  8. 【C#公共帮助类】 Log4net 帮助类

    首先,我们要在Common类库中引用log4net.dll ExtLogImpl.cs using System; using System.Collections.Generic; using Sy ...

  9. 面向对象设计模式纵横谈:Singelton单件模式(笔记记录)

       李建忠老师讲的<面向对象设计模式纵横谈>,早就看过了,现在有了时间重新整理一下,以前的博客[赛迪网]没有了,现在搬到博客园,重新过一遍,也便于以后浏览. 设计模式从不同的角度分类会得 ...

  10. Quartz框架(第一版)

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...