笔记:Maven 插件及配置详解
- 插件使用配置
用户能够自己选择将某个插件目标绑定到生命周期的某个阶段上,例如创建项目的源码JAR包,内置的插件绑定关系并没有涉及这个任务,mavent-source-plugin 可以帮助我们完成该任务,他的 jar-no-fork 目标能够将项目的主代码打包成JAR文件,可以将其绑定到default生命周期的verify阶段上,在执行完集成测试后和安装构件之前创建源码JAR包,配置在 POM 的 Project-> build 节点下,具体配置如下:
<plugins>
<plugin>
<!-- 插件的项目 -->
<groupId>org.apache.maven.plugins</groupId>
<!-- 插件的唯一标识 -->
<artifactId>maven-source-plugin</artifactId>
<!-- 插件版本号 -->
<version>2.1.1</version>
<!-- 每个 execution 子元素配置执行任务 -->
<executions>
<execution>
<!-- 任务ID -->
<id>attach-sources</id>
<!-- 绑定生命周期阶段 -->
<phase>verify</phase>
<!-- 指定执行的插件目标-->
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
可以使用 maven-help-plugin 查看插件的详细信息,了解插件目标的默认绑定阶段,运行命令如下:
mvn help:describe -Dplugin:org.apache.maven.plugins:maven-source-plugin
命令的语法说明:
- mvn help:describe -Dplugin:[插件的GroupID]:[插件的artifactId]:[插件的版本(可选)] -Ddetail
- mvn help:describe -Dplugin:[插件的goal prefix] -Ddetail
- -Dplugin 说明:Maven 支持在命令中使用 -D参数,来设置插件的目标参数,此处的 -Dplugin 其实是设置插件的 plugin 参数
命令结果:
结果详细的显示了插件的基本信息、版本和目标(golas),如果需要更详细的内容,可以在后面增加 -Ddetail 参数
- 插件仓库
基本上所有主要的 Maven 插件都来自于 Apache 和 Codehaus,插件的详细列表可以在到 http://maven.apache.org/plugins/index.html 获取,单击某个插件的链接便可以得到进一步的信息,所有官方插件可以到 http://repo1.maven.org/maven2/org/apache/maven/plugins/ 地址下载。
与依赖构件一样,插件构件同样基于坐标存储在Maven仓库中,在需要的时候Maven会从本地仓库寻找插件,如果不存在,则从远程仓库查找并下载到本地仓库使用,Maven会区分对待依赖的远程仓库和插件的远程仓库,插件的远程仓库使用 pluginRepositories 和 pluginRepository 配置,其余的子元素表达的含义和依赖仓库的配置一致。