您的位置:首页 > 其它

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标签。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: