maven
来源:互联网 发布:win7阻止安装软件 编辑:程序博客网 时间:2024/06/03 18:32
在讲述maven的构建生命周期中,会遇到以下几个概念:
- 生命周期(lifecycle)
- 阶段(phrase)
- 插件(plugins)
- 目标(goal)
1. 生命周期
maven有三种类型的生命周期
- clean
- default(或build)
- site
1.1 clean生命周期
clean生命周期由以下三个阶段
- pre-clean
- clean
- post-clean
当我们执行 mvn clean
命令时,clean生命周期中的clean阶段以及clean阶段之前的pre-clean阶段将会被依次执行,即mvn clean
与mvn pre-clean clean
的效果是一样的;如果执行命令mvn post-clean
,则clean生命周期中的三个阶段将依次被执行。mvn clean
命令中的clean是阶段。
每一个阶段都绑定了某个插件(plugin)的某个目标(goal)。clean阶段默认绑定了maven-clean-plugin插件中的clean目标,clean目标是一个已经预定义好的动作。当然,用户也可以在pom文件中重新将clean阶段绑定到其它插件的某个目标。
1.2 default生命周期
所以,当我们执行命令mvn package
时,package前面的compile与test阶段也会被执行。
##### 1.3 site生命令周期
site生命周期主要用于创建新的文档,创建报告,部署网站。有以下四个阶段:
- pre-site
- site
- post-site
- deploy
2. 插件
maven生命周期中的每个阶段其实默认绑定了某个插件的某个目标。当然,我们可以在pom文件中修改某个阶段绑定的目标。
举例说明,在某个空目录下新建如下一个pom.xml文件,定义pre-clean阶段绑定到maven-antrun-plugin插件的run目标,run目标其实就是打印pre-clean phase
内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.companyname.projectgroup</groupId><artifactId>project</artifactId><version>1.0</version><build><plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>id.pre-clean</id> <phase>pre-clean</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>pre-clean phase</echo> </tasks> </configuration> </execution> </executions> </plugin></plugins></build></project>
在该pom文件所在的路径下执行命令mvn pre-clean
,会看到如下输出:
E:\mvn>mvn pre-clean[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building project 1.0[INFO] ------------------------------------------------------------------------[INFO][INFO] --- maven-antrun-plugin:1.1:run (id.pre-clean) @ project ---[INFO] Executing tasks [echo] pre-clean phase[INFO] Executed tasks[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.333 s[INFO] Finished at: 2017-11-05T23:56:08+08:00[INFO] Final Memory: 8M/241M[INFO] ------------------------------------------------------------------------
- Maven
- Maven
- Maven
- maven
- Maven
- Maven
- maven
- maven
- maven
- maven
- Maven
- maven .
- Maven
- maven
- maven
- maven
- MAVEN
- Maven
- 使用FutureTask执行并行耗时任务
- android获取APP 包名和activity
- MySQL_Java学习心得
- 文章标题
- Guava谓词函数
- maven
- 可变参数列表解析
- linux (1)文件和目录常用命令
- 《写给大家看的设计书》与编程最佳实践(一)
- Tomcat7目录介绍
- 下载的文件已损坏
- 20171105|每日练习
- 蓝桥杯 基础练习 字母图形基础练习 字母图形
- sudo: unable to resolve host [hostname](已解决)