Maven插件介绍一

Maven插件介绍一

Maven生命周期

Maven 将项目抽象为一个特定生命周期,基于生命周期及其特定阶段搭建框架,以插件的形式提供生命周期不同阶段的业务逻辑。

Maven标准构建生命周期和阶段

生命周期

阶段

说明

Clean

pre-clean

在真正项目清理前执行阶段

clean

移除上次构建生成的所有文件

post-clean

clean的后续操作

Default

validate

校验项目的正确性及必要信息是否可用

initialize

初始化构建,比如设置属性值,创建目录

generate-sources

生成编译涉及到的源码

process-sources

处理源码

compile

编译项目源码

process-classes

编译后处理

generate-test-sources

生成测试相关源码

process-test-sources

处理测试相关源码

generate-test-resources

创建测试资源

process-test-resources

拷贝和处理测试资源,将其放置于目标目录

test-compile

编译测试源码到目标目录

process-test-classes

测试类后处理

test

执行测试套件

prepare-package


执行打包准备

package

打包

pre-integration-test

集成测试预处理

integration-test

执行集成测试

post-integration-test

集成测试后处理

verify

校验包

install

将包安装到本地仓库

deploy

将包安装到远程仓库

SITE

pre-site

执行工程站点生成前操作

site

生成项目站点文档

post-site

执行项目站点生成后操作

site-deploy

将项目文档发布到目标web服务器

执行生命周期

Mvn  verify

Mvn clean deploy

执行生命周期本质上是执行生命周期绑定插件的目标,插件目标对应于插件实现的一项任务,插件目标可以绑定到1个活多个阶段,也可以不绑定任何构建阶段,而通过命令直接调用来执行。

如 mvn clean dependency:copy-dependencies package 表示一次执行 clean阶段绑定的插件目标,dependency:copy-dependencies, package阶段绑定的插件目标。

阶段绑定插件及目标

Clean阶段

Phase

plugin:goal

clean

clean:clean

ejb / ejb3 / jar / par / rar / war 对应项目默认生命周期阶段绑定插件

Phase

plugin:goal

process-resources

resources:resources

compile

compiler:compile

process-test-resources

resources:testResources

test-compile

compiler:testCompile

test

surefire:test

package

ejb:ejb or ejb3:ejb3 or jar:jar or par:par or rar:rar or war:war

install

install:install

deploy

deploy:deploy

maven-plugin 项目默认生命周期阶段绑定插件

Phase

plugin:goal

generate-resources

plugin:descriptor

process-resources

resources:resources

compile

compiler:compile

process-test-resources

resources:testResources

test-compile

compiler:testCompile

test

surefire:test

package

jar:jar and plugin:addPluginArtifactMetadata

install

install:install

deploy

deploy:deploy

POM 项目默认生命周期阶段绑定插件

Phase

plugin:goal

package

install

install:install

deploy

deploy:deploy

Maven 插件

Maven官方插件及其和生命周期阶段绑定关系

       插件列表见Maven – Available Plugins,列举了maven生命周期阶段绑定的核心插件。点击对应插件进行详细了解。

如Compiler阶段对应插件Apache Maven Compiler Plugin 。

插件的配置和执行

插件声明:, <build>标签下的<pluginManagement>可以生命项目中使用的插件, 这里的插件列表不会被实际加载,一般用于在父POM文件中定义, 对插件版本进行管理, 子模块中可以直接使用groupId和artifactId执行插件, 不用指定版本。

<pluginManagement><plugins>…</plugins></ pluginManagement>

插件的配置:<build>标签直接使用<plugins>则定义项目实际加载的插件,如父POM没有通过生命指定版本, 使用配置时需要制定插件版本。

以compiler插件为例

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-compiler-plugin</artifactId>

    <configuration>

        <source>1.8</source>

        <target>1.8</target>

        <encoding>${project.build.sourceEncoding}</encoding>

        <compilerArgs>

            <compilerArg>-parameters</compilerArg>

        </compilerArgs>

    </configuration>

</plugin>

对于Maven生命周期阶段默认绑定的插件可以不指定executions配置阶段和目标。

下面是一个绑定maven生命周期阶段和执行目标的插件配置。

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-assembly-plugin</artifactId>

    <configuration>

        <appendAssemblyId>false</appendAssemblyId>

        <descriptors>

            <descriptor>assembly.xml</descriptor>

        </descriptors>

    </configuration>

    <executions>

        <execution>

            <id>make-assembly</id>

            <phase>package</phase>

            <goals>

                <goal>single</goal>

            </goals>

        </execution>

    </executions>

</plugin>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值