Maven实战——生命周期和插件
2016-02-18 21:54
316 查看
Maven的构建过程包含:初始化、编译、測试、打包、集成測试、部署
Maven拥有三套相互独立的生命周期:clean(清理项目)、default(构建项目)、site(建立项目网站)
每一个生命周期包含一些阶段,这些阶段是有顺序的,而且后面的阶段依赖于前面的阶段,以clean为例:
pre-clean:运行一些清理前须要完毕的工作
clean:清理上一次构建生成的文件
post-clean:运行一些清理后须要完毕的工作
site的生命周期包含:pre-site,site,post-site,site-deploy
命令行与生命周期
以Maven命令为例
mvnclean:调用生命周期的clean阶段,即为pre−clean和clean阶段 mvn clean:调用生命周期的clean阶段。即为pre-clean和clean阶段
mvn test:调用default生命周期的test阶段
mvncleaninstall:调用clean生命周期的clean阶段和default生命周期的install阶段。 mvn clean install:调用clean生命周期的clean阶段和default生命周期的install阶段。
mvn clean deploy site-deploy:调用clean生命周期的clean阶段、default生命周期的deploy阶段。及site生命周期的site_deploy阶段,此为site生命周期的最后一个阶段
命令行插件配置
非常多插件目标的參数都支持从命令行配置,用户能够再Maven命令中使用-D參数,并伴随一个參数键=參数值的形式,来配置插件目标的參数。比如:
maven-surefire-plugin提供了一个maven.test.skip參数,当为true时就调过測试
$mvn install -Dmaven.test.skip=true
參数D是Java自带的。
POM中插件的全局配置
有些參数的值从项目创建到项目公布都不会改变,对于这样的情况在POM文件里一次性配置就比输入方便。比如我们一般会须要配置maven-compiler-plugin告诉他编译Java1.5版本号的源文件
POM中插件任务配置
以maven-antrun-plugin为例,将maven-antrun-plugin:run绑定到多个生命周期阶段上,再加以不同的配置,就能够让Maven在不同的生命周期运行不同的任务。
在上述代码中,首先,maven-antrun-plugin:run与validate阶段绑定。从而构成一个id为ant-validate的任务。插件全局配置中的configuration元素位于plugin元素以下,而这里的configuration元素则位于execution元素以下。表示这是特定任务的配置,而非插件总体的配置。这个ant-validate任务配置了一个echo Act任务。向命令行输出一段文字,表示该任务是绑定到validate阶段的。第二个任务的id为ant-varify。它绑定到了verify阶段,相同它也输出一段文字到命令行,告诉我们任务绑定到了verify阶段。
Maven拥有三套相互独立的生命周期:clean(清理项目)、default(构建项目)、site(建立项目网站)
每一个生命周期包含一些阶段,这些阶段是有顺序的,而且后面的阶段依赖于前面的阶段,以clean为例:
pre-clean:运行一些清理前须要完毕的工作
clean:清理上一次构建生成的文件
post-clean:运行一些清理后须要完毕的工作
site的生命周期包含:pre-site,site,post-site,site-deploy
命令行与生命周期
以Maven命令为例
mvnclean:调用生命周期的clean阶段,即为pre−clean和clean阶段 mvn clean:调用生命周期的clean阶段。即为pre-clean和clean阶段
mvn test:调用default生命周期的test阶段
mvncleaninstall:调用clean生命周期的clean阶段和default生命周期的install阶段。 mvn clean install:调用clean生命周期的clean阶段和default生命周期的install阶段。
mvn clean deploy site-deploy:调用clean生命周期的clean阶段、default生命周期的deploy阶段。及site生命周期的site_deploy阶段,此为site生命周期的最后一个阶段
命令行插件配置
非常多插件目标的參数都支持从命令行配置,用户能够再Maven命令中使用-D參数,并伴随一个參数键=參数值的形式,来配置插件目标的參数。比如:
maven-surefire-plugin提供了一个maven.test.skip參数,当为true时就调过測试
$mvn install -Dmaven.test.skip=true
參数D是Java自带的。
POM中插件的全局配置
有些參数的值从项目创建到项目公布都不会改变,对于这样的情况在POM文件里一次性配置就比输入方便。比如我们一般会须要配置maven-compiler-plugin告诉他编译Java1.5版本号的源文件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build>
POM中插件任务配置
以maven-antrun-plugin为例,将maven-antrun-plugin:run绑定到多个生命周期阶段上,再加以不同的配置,就能够让Maven在不同的生命周期运行不同的任务。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.3</version> <executions> <execution> <id>ant-validate</id> <phase>validate</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>I'm bound to validate phase.</echo> </tasks> </configuration> </execution> <execution> <id>ant-verify</id> <phase>verify</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>I'm bound to verify phase.</echo> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build>
在上述代码中,首先,maven-antrun-plugin:run与validate阶段绑定。从而构成一个id为ant-validate的任务。插件全局配置中的configuration元素位于plugin元素以下,而这里的configuration元素则位于execution元素以下。表示这是特定任务的配置,而非插件总体的配置。这个ant-validate任务配置了一个echo Act任务。向命令行输出一段文字,表示该任务是绑定到validate阶段的。第二个任务的id为ant-varify。它绑定到了verify阶段,相同它也输出一段文字到命令行,告诉我们任务绑定到了verify阶段。
相关文章推荐
- popen+pclose 执行 shell 命令
- 大型网站技术架构读书笔记01—大型网站架构演化史
- iOS 最新版 CocoaPods 的安装流程
- python实现键盘记录木马
- Java byte数据类型详解
- ts
- 51单片机data,idata,xdata,pdata的区别
- Android学习笔记之Intent
- iOS复制链接到剪贴板
- Servlet生命周期
- poj 2104 主席树(区间第k大)
- poj 2104 主席树(区间第k大)
- neuq oj 1038: 谭浩强C语言(第三版)习题4.8 C语言
- 自学javascript笔记_自用_解析W3school的代码_JS对象
- jQuery fancybox ie 无法显示关闭按钮
- Redis教程(十二):服务器管理命令总结
- c语言:【顺序表】静态顺序表的在指定位置插入元素,以及查找指定元素
- ts
- [bzoj3455]供电网络
- jQuery fancybox ie 无法显示关闭按钮