官方文档请参考:https://maven.apache.org/plugins/
Maven插件分类
maven中有两种插件:build和reporting:
- build:在构建期间运行,配置在build节点中。
- reporting:在site期间执行,配置在reporting中。
官方说,在
<build><pluginManagement/></build>
中指定每个插件的版本是一个好习惯。
核心插件
插件 | 当前版本 | 描述 |
---|---|---|
clean | 3.2.0 | 清理已构建的项目 |
compiler | 3.10.1 | 编译Java源代码。 |
deploy | 3.0.0-M2 | 将构建的工件部署到远程存储库。 |
failsafe | 3.0.0-M7 | 在独立的类加载器中运行JUNIT集成测试 |
install | 3.0.0-M1 | 将构建的工件部署到本地仓库 |
resources | 3.2.0 | 将资源复制到输出目录,以便包含在JAR中。 |
site | 4.0.0-M1 | 为当前项目生成一个站点。 |
surefire | 3.0.0-M7 | 在一个隔离的类加载器中运行JUnit单元测试。 |
verifier | 1.1 | 用于集成测试——验证某些条件是否存在。 |
maven项目默认加载了下面这些插件,基本上就是核心组件。
package相关插件
插件 | 当前版本 | 描述 |
---|---|---|
ear | 3.2.0 | 从当前项目生成EAR。 |
ejb | 3.2.1 | 从当前项目构建EJB(和可选客户机)。 |
jar | 3.2.2 | 从当前项目生成JAR。 |
rar | 2.4 | 从当前项目生成RAR。 |
war | 3.3.2 | 从当前项目生成RAR。 |
app-client/acr | 3.1.0 | 构建JavaEE应用 |
shade | 3.3.0 | 从当前项目构建一个Uber-JAR,包括依赖项。 |
source | 3.2.1 | 从当前项目构建一个源jar。 |
jlink | 3.1.0 | 构建Java运行时映像。 |
jmod | 3.0.0-alpha-1 | 构建Java JMod文件。 |
Reporting 相关插件
插件 | 当前版本 | 描述 |
---|---|---|
changelog | 2.3 | 从SCM 1 生成一个最近更改记录。 |
changes | 2.12.1 | 从issue tracker 或变更文档生成一份报告 |
checkstyle | 3.1.2 | 生成一个Checkstyle报告 |
doap | 1.2 | 从POM生成项目描述(DOAP)文件。 |
docck | 1.1 | 文档检查器插件。 |
javadoc | 3.4.0 | 生成该项目的javadoc |
jdeps | 3.1.2 | 在项目上运行JDK的JDeps工具。 |
jxr | 3.2.0 | 生成一个source的cross reference |
linkcheck | 1.2 | 生成项目文档的Linkcheck报告。 |
pmd | 3.17.0 | 生成PMD报告 |
project-info-reports | 3.3.0 | 生成标准的项目报告 |
surefire-report | 3.0.0-M7 | 基于单元测试结果生成报告 |
其他更多插件请参考官方文档;
插件的使用:
以jar插件为例,在pom.xml文件的build节点下添加下面的配置,引入插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
</plugin>
关于插件的使用,可以参考官方文档,例如jar插件的官方文档:https://maven.apache.org/plugins/maven-jar-plugin/usage.html
更多插件的使用详解请参考:
SCM:(Software Configuration Management)软件配置管理,maven可以支持常用的SVN和GIT等。 ↩︎