Maven学习笔记(三)--生命周期和插件
来源:互联网 发布:dns服务器的端口 编辑:程序博客网 时间:2024/06/12 01:38
Maven生命周期是对所有的构建过程进行抽象和统一。Maven的生命周期是抽象的,实际任务由插件完成。
Maven有三套独立的生命周期:
clean生命周期--清理项目
default生命周期--定义了构建时执行的所有步骤
site生命周期--建立和发布项目站点
注:Maven各个生命周期都是独立的,但是一个周期内部的阶段是有依赖关系的。
插件绑定
默认绑定
clean与maven-clean-plugin:clean绑定,仅有clean这一个目标
site生命周期site阶段与maven-site-Plugin:site,deploy阶段和maven-site-Plugin:deploy绑定
default生命周期各阶段与插件目标绑定关系比较复杂。
compile阶段--maven-complier-plugin:compile
test阶段--maven-surefire-plugin:test
package阶段--maven-jar-plugin:jar
install阶段--maven-install-plugin:install
deploy阶段--maven-deploy-plugin:deploy
自定义绑定
用户可以自定义选择将某个插件绑定到某个生命周期上,<plugin></plugin>标签中指定
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<exexution>
<id>attach-source</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
查看插件默认的绑定阶段
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-source-plugin:2.1.1 -Ddetail
POM插件全局配置
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compile-plugin</artifactId>
<version></version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
POM插件中的任务配置
同一个插件绑定不同的任务阶段,可以执行不同的任务
<plugins>
<plugin>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<executions>
<execution>
<id>ant-validate</id>
<phase>validate</phase>
<goals><goal>run</goal></goals>
<configuration>
<tasks><echo>I am bound to validate</echo></tasks>
</configuration>
</execution>
<execution>
<id>ant-verify</id>
<phase>verify</phase>
<goals><goal>run</goal></goals>
<configuration>
<tasks><echo>I am bound to verify</echo></tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
获取插件信息
1.在线获取--http://maven.apache.org/plugins/index.html
2.使用maven-help-plugin描述插件 mvn help:describe -Dplugin=org.apache.maven.plugins:maven-complier-plugin:2.1 -Dgoal=compile -Ddetail
插件解析机制
同依赖的远程仓库类似,插件也有自己的远程仓库。插件的远程仓库使用pluginRepositories和pluginRepository配置。
插件的默认groupId为: org.apache.maven.plugins (不推荐省略)
解析机制:如果是核心插件,超级POM中已经设定了版本。如果是非核心插件,未指定版本,maven会检查仓库中所有可用版本,做出选择。仓库元数据中记录了 插件的所有版本。maven3开始解析到release版本。
插件前缀:maven插件可以指定前缀<prefix>,默认groupidorg.apache.maven.plugins和org.codehaus.mojo两个,也可以通过settings.xml指定
<pluginGroups>
<pluginGroup>com.your.plugins</pluginGroup>
</pluginGroups>
===========================================
maven测试插件 maven-surefire-plugin 命令:mvn package -DskipTests
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>mave-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<includes>**/*Tests.java</includes>
<excludes>
<exclude>*ServiceTest.java</exclude>
<exclude>TempDaoTest.java</eclude>
</excludes>
<skipTests>true</skipTest> //跳过测试
</configuration>
</plugin>
默认情况下,target/surefire-reports目录下会生成两种格式的错误报告。
===========================================================
测试类重用:打包包含测试代码
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<goals><goal>test-jar</goal></goals>
</executions>
</plugin>
- Maven学习笔记(三)--生命周期和插件
- Maven学习笔记之生命周期和插件
- maven学习笔记三(生命周期与插件)
- maven学习--生命周期和插件
- Maven实战学习笔记(生命周期和插件)
- Maven学习笔记(十二)生命周期和插件
- Maven实战学习笔记、7.生命周期和插件
- Maven系列三:生命周期和插件
- Maven生命周期和插件(三)
- Maven学习笔记(六):生命周期与插件
- Maven学习笔记3-生命周期与插件
- maven笔记3--生命周期和插件
- Maven学习(四)-- 生命周期和插件
- MAVEN学习笔记之Maven生命周期和插件简介(3)
- Maven-生命周期和插件
- Maven生命周期和插件
- Maven生命周期和插件
- maven生命周期和插件
- redhat下安装squid
- select下拉选项分组<optgroup>
- Hadoop常见重要命令行操作及命令作用
- Jquery绑定事件(bind和live的区别)
- Windows右键“新建”项不见了怎么找回?
- Maven学习笔记(三)--生命周期和插件
- 二叉树的定义、性质、存储
- 社説 20150603 安保法案審議 過剰な制約で「切れ目」作るな
- WebView 链接(或按钮)向 Activity 跳转的几种实现方式
- Oracle学习(13):数据字典
- Outlets 和Referencing Outlets的区别
- robotium环境配置及下载
- java设计模式(三)---建造者模式
- ios之下拉刷新上拉加载更多