插件
build 插件,如package、install、deploy
包括compile test package等都是插件
versions-maven-plugin插件:version管理
Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的。Maven 插件通常用于:
创建 jar 文件
创建 war 文件
编译代码文件
进行代码单元测试
创建项目文档
创建项目报告
一个插件通常提供了一组目标,可使用以下语法来执行:
1 | mvn [plugin-name]:[goal-name] |
例如,一个 Java 项目可以使用 Maven 编译器插件来编译目标,通过运行以下命令编译
1 | mvn compiler:compile |
插件类型
Maven 提供以下两种类型插件:
类型 | 描述 |
---|---|
构建插件 | 在生成过程中执行,并在 pom.xml 中的 |
报告插件 | 在网站生成期间执行,在 pom.xml 中的 |
以下是一些常见的插件列表:
插件 | 描述 |
---|---|
clean | 编译后的清理目标,删除目标目录 |
compiler | 编译 Java 源文件 |
surefile | 运行JUnit单元测试,创建测试报告 |
jar | 从当前项目构建 JAR 文件 |
war | 从当前项目构建 WAR 文件 |
javadoc | 产生用于该项目的 Javadoc |
antrun | 从构建所述的任何阶段运行一组 Ant 任务 |
例子
我们使用 maven-antrun-plugin 插件在例子中来在控制台打印数据。现在在 C:\MVN\project 文件夹 创建一个 pom.xml 文件,内容如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" |
接下来,打开命令控制台,并转到包含 pom.xml 的文件夹并执行以下命令 mvn 命令。
1 | C:\MVN\project>mvn clean |
Maven 将开始处理并显示清洁周期/阶段,如下图中输出:
1 | [INFO] Scanning for projects... |
上面的例子说明了以下关键概念:
- 插件可在 pom.xml 使用的 plugin 元素来指定;
- 每个插件可以有多个目标;
- 从插件应使用它的相位元素开始处理定义阶段。这里已经使用 clean 阶段;
- 可以通过将它们绑定到插件的目标来执行配置任务。这里已经绑定 echo 任务到 maven-antrun-plugin 的运行目标;
- 就这样,Maven将处理其余部分。如果没有可用的本地存储库,它会下载这个插件;