Maven build lifecycle
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的更多相关文章
- Maven Build Life Cycle--reference
What is Build Lifecycle? A Build Lifecycle is a well defined sequence of phases which define the ord ...
- 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 ...
- Introduction to the Build Lifecycle
Introduction to the Build Lifecycle Table Of Contents Build Lifecycle Basics Setting Up Your Project ...
- 在eclipse如何删除无效的maven build
在Eclipse的maven项目中,点击一次“maven build...”明明没有配置,它也就会产生一个maven build,那么如何删除这些无效的配置呢?
- Maven Build Profiles--reference
What is Build Profile? A Build profile is a set of configuration values which can be used to set or ...
- No compiler is provided in this environment. --Maven build失败
今天,maven build 失败了, 遇到下面的问题 经过查找,通过这个大佬的blog( https://blog.csdn.net/lslk9898/article/details/738367 ...
- Spring Boot-右键maven build成功但是直接运行main方法出错的解决方案
1.代码就一个Controller,从官网复制过来的,如下 package com.springboot.controller; import org.springframework.boot.Spr ...
- 转:eclipse maven build、maven install 等区别
原文地址:eclipse maven build.maven install 等区别
- maven build的常用生命周期
常用的maven build goals: validate - validate the project is correct and all necessary information is av ...
随机推荐
- java单例设计模式
单例模式的特点: 1.单例类只能有一个对象(实例). 2.单例类必须自己创建自己的唯一实例 . 3.单例类必须给所有其他对象提供这一实例. 设置步骤: 1.将对象的应用成员变量用private来修饰. ...
- awk命令简介
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...
- Python标准模块--import
1 模块简介 作为一个Python初学者,你首先要学会的知识就是如何引入其它模块或者包.但是,我发现有些开发者虽然使用Python很多年,依然不了解Python引入机制的灵活性.这篇文章,我们就会研究 ...
- Linux平台 Oracle 11gR2 RAC安装Part2:GI安装
三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面安装GI 3 ...
- 你真的会玩SQL吗?查询指定节点及其所有父节点的方法
--查询ID = '009'的所有父节点 ' ;WITH T AS ( SELECT ID , PID , NAME FROM TB WHERE ID = @ID UNION ALL SELECT A ...
- 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...
- 高分辨率下IE浏览器缩放导致出现右侧滚动条问题的解决
0 问题描述 由于需要演示触控操作,采购了SurfacePro,SurfacePro的推荐分辨率为2736×1824,且默认缩放比例为200%,IE浏览器的默认缩放比例也是200%,这样就导致右侧出现 ...
- Vmware虚拟机安装Ubuntu并设置root登陆
主机操作系统是win7.在Ubuntu官网下好系统镜像.iso文件,安装好Vmware workstation软件 1 安装Ubuntu系统到Vmware虚拟机: 注意下面这步是无法直接设置账号为ro ...
- MAC终端命令行下用sublime、vscode、atom打开文件或目录
要知道,有时候一些小技巧,能极大的加大我们的工作效率. 在MAC下开发,用的最多的还是终端,我的终端环境是iterm2+ohmyzsh:步入正题前先给大家介绍几个小技巧: 第一个: 打开findle, ...
- ASP.NET Core WebListener 服务器
原文地址:WebListener server for ASP.NET Core By Tom Dykstra, Chris Ross WebListener是一个只能运行在Windows上的ASP. ...