Maven生命周期和插件
2013-04-25 16:55
211 查看
一、maven存在三套生命周期,分别为clean,default和site。其中clean包括pre-clean、clean和post-clean三个。
default主要包括:proces-sources、compile、process-test-sources、test-compile、test、package、install以及deploy。site包括pre-site、site、post-site、以及site-deploy。
二 插件和目标以及和生命周期的关系:插件集成了多种功能,每一种功能算一个目标。生命周期的某个阶段的具体任务由插件的某一个目标完成(也即某一项功能完成指定阶段的任务)。例如compile阶段由maven-compile-plugin这一插件的compile目标完成。
三、内置绑定:
clean:maven-clean-plugin:clean。
process-resources:maven-resources-plugin:resources
compile:maven-compile-plugin:compile
process-resources:maven-resources-plugin:testResources
test-compile:maven-compile-plugin:testCompile
test:maven-surefire-plugin:test
package:maven-jar-plugin:jar
install:maven-install-plugin:install
deploy:maven-deploy-plugin:deploy
四、自定义绑定:
<build>
<plugins>
<plugin>
<!-- maven官方插件groupId -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 源码相关插件-->
<artifactId>maven-source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<!-- execution的ID -->
<id>attach-sources</id>
<!-- 需要执行的maven生命周期阶段 ,如果不填写的,很多plugin的goal已经定义了默认绑定阶段,例如此处如果不填写,默认是绑定在package-->
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
通过mvn help:describe -Dplugin=[groupId:artifactId:version|Goal prefix] [-Dgoal=goal] [-Ddetail] 查看插件的相应信息。同一个插件goal可以绑定到不同的生命周期阶段。同一个生命周期阶段也可以绑定多个插件goal。其执行顺序前者按照生命周期顺序。后者按照声明的顺序
五、插件解析机制:
插件仓库:可通过pluginRepositories标签在pom或者settings中设置插件仓库。
maven 前缀:maven dependency:list 其中dependency就是maven-dependency-plugin的前缀,我们就是使用dependecy来代替org.apache.maven.plugins:maven-dependency-plugin:version的使用,两者之间的关系保存在元数据当中。maven默认到。list是dependency的goal。
插件的默认groupId:如果插件是maven的官方插件。则groupId为org.apache.maven.plugins。且设置plugin标签时可忽略groupId标签。
default主要包括:proces-sources、compile、process-test-sources、test-compile、test、package、install以及deploy。site包括pre-site、site、post-site、以及site-deploy。
二 插件和目标以及和生命周期的关系:插件集成了多种功能,每一种功能算一个目标。生命周期的某个阶段的具体任务由插件的某一个目标完成(也即某一项功能完成指定阶段的任务)。例如compile阶段由maven-compile-plugin这一插件的compile目标完成。
三、内置绑定:
clean:maven-clean-plugin:clean。
process-resources:maven-resources-plugin:resources
compile:maven-compile-plugin:compile
process-resources:maven-resources-plugin:testResources
test-compile:maven-compile-plugin:testCompile
test:maven-surefire-plugin:test
package:maven-jar-plugin:jar
install:maven-install-plugin:install
deploy:maven-deploy-plugin:deploy
四、自定义绑定:
<build>
<plugins>
<plugin>
<!-- maven官方插件groupId -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 源码相关插件-->
<artifactId>maven-source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<!-- execution的ID -->
<id>attach-sources</id>
<!-- 需要执行的maven生命周期阶段 ,如果不填写的,很多plugin的goal已经定义了默认绑定阶段,例如此处如果不填写,默认是绑定在package-->
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
通过mvn help:describe -Dplugin=[groupId:artifactId:version|Goal prefix] [-Dgoal=goal] [-Ddetail] 查看插件的相应信息。同一个插件goal可以绑定到不同的生命周期阶段。同一个生命周期阶段也可以绑定多个插件goal。其执行顺序前者按照生命周期顺序。后者按照声明的顺序
五、插件解析机制:
插件仓库:可通过pluginRepositories标签在pom或者settings中设置插件仓库。
maven 前缀:maven dependency:list 其中dependency就是maven-dependency-plugin的前缀,我们就是使用dependecy来代替org.apache.maven.plugins:maven-dependency-plugin:version的使用,两者之间的关系保存在元数据当中。maven默认到。list是dependency的goal。
插件的默认groupId:如果插件是maven的官方插件。则groupId为org.apache.maven.plugins。且设置plugin标签时可忽略groupId标签。
相关文章推荐
- maven项目管理之-05-生命周期与插件
- maven详解之生命周期与插件
- Maven实践(八)---插件的生命周期
- Maven 实战 04 生命周期和插件
- 【JavaWeb-28】Maven仓库、目录结构、命令和生命周期、添加jar包和插件
- MAVEN的生命周期,jetty插件
- maven学习--生命周期和插件
- Maven实战——生命周期和插件
- Maven生命周期和插件机制
- 一点一点学maven(04)——maven的生命周期与插件
- Maven 教程(12)— Maven生命周期和插件
- 第9章 maven的插件和生命周期
- 一起学Maven(Maven中的生命周期与插件机制)<七>
- maven的生命周期,插件介绍(二)
- 7 Maven-生命周期和插件
- Maven核心概念之仓库,生命周期与插件
- maven插件的生命周期的详细说明(两)
- maven-生命周期与插件
- maven生命周期与插件