什么是Maven插件?
Maven实际上是一个插件执行框架,其中每个任务实际上都是由插件完成的. Maven插件通常用于 : 去;
创建jar文件
创建war文件
编译代码文件
代码的单元测试
创建项目文档
创建项目报告
插件通常提供一组目标,可以使用以下语法执行 :
mvn [plugin-name]:[goal-name]
例如,一个Java项目可以通过运行以下命令使用maven-compiler-plugin的编译目标进行编译.
mvn compiler:compile
插件类型
Maven提供了以下两种类型的插件和减号;
Sr.No. | Type&描述 |
---|---|
1 | 构建插件 它们在构建过程中执行,应该在< build/>中配置. pom.xml的元素. |
2 | 报告插件 它们在网站生成过程中执行,应在< reporting/>中进行配置. pom.xml的元素. |
以下是几个常见插件的列表 :
Sr.No. | 插件&说明 |
---|---|
1 | clean 构建后清理目标.删除目标目录. |
2 | compiler 编译Java源文件. |
3 | surefire 运行JUnit单元测试.创建测试报告. |
4 | jar 从当前项目构建JAR文件. |
5 | war 从当前项目构建WAR文件. |
6 | javadoc 为项目生成Javadoc. |
7 | antrun 从构建中提到的任何阶段运行一组ant任务. |
示例
我们'我们在示例中广泛使用了 maven-antrun-plugin 来在控制台上打印数据.请参阅构建配置文件章节.让我们以更好的方式理解它,并在C:\ MVNN\project文件夹中创建一个pom.xml.
4.0.0 com.companyname.projectgroup project 1.0 org.apache.maven.plugins maven-antrun-plugin 1.1 id.clean clean run clean phase
接下来,打开命令控制台并转到包含pom.xml的文件夹,然后执行以下 mvn 命令.
C:\ MVN \ project> mvn clean
Maven将开始处理并显示清洁生命周期的清洁阶段.
[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0[INFO] task-segment: [post-clean][INFO] ------------------------------------------------------------------[INFO] [clean:clean {execution: default-clean}][INFO] [antrun:run {execution: id.clean}][INFO] Executing tasks [echo] clean phase[INFO] Executed tasks[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------[INFO] Total time: < 1 second[INFO] Finished at: Sat Jul 07 13:38:59 IST 2012[INFO] Final Memory: 4M/44M[INFO] ------------------------------------------------------------------
上面的例子说明了以下关键概念 :
使用plugins元素在pom.xml中指定插件.
每个插件可以有多个目标.
您可以使用其阶段元素定义插件应从哪里开始处理的阶段.我们已经使用了 clean 阶段.
您可以通过将任务绑定到插件目标来配置要执行的任务.我们将 echo 任务绑定到 maven-antrun-plugin 的 run 目标.
如果本地存储库中没有该插件,Maven将下载该插件并开始处理.