插件类型
Maven提供了以下两种类型的插件
类型 |
描述 |
构建插件 |
它们在构建过程中执行,应在pom.xml的<build /&Igt;元素中进行配置。 |
报告插件 |
它们在网站生成过程中执行,应在pom.xml的<reporting /&Igt;元素中进行配置。 |
以下是一些常见插件的列表:
插件 |
描述 |
clean |
构建后清理目标。 删除目标目录。 |
compiler |
编译Java源文件。 |
surefire |
运行JUnit单元测试。 创建测试报告。 |
jar |
从当前项目构建一个JAR文件。 |
war |
从当前项目构建一个WAR文件。 |
javadoc |
为项目生成Javadoc。 |
antrun |
从构建的任何阶段运行一组ant任务。 |
例如:在示例中,我们广泛使用了maven-antrun-plugin在控制台上打印数据。请参阅
“构建配置文件”一章。让我们以更好的方式了解它,并在C:\MVN\project文件夹中创建pom.xml。
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.projectgroup</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>id.clean</id>
<phase>clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>clean phase</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
接下来,打开命令控制台并转到包含pom.xml的文件夹,然后执行以下mvn命令。
C:\MVN\project>mvn clean
Maven将开始处理并显示clean生命周期的clean阶段。
[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中指定了插件。
- 每个插件可以有多个目标。
- 您可以使用其phase元素从插件应开始处理的位置定义阶段。我们使用了clean阶段。
- 您可以通过将任务绑定到插件目标来配置要执行的任务。我们已经将echo任务与maven-antrun-plugin的运行目标绑定了。
- 如果本地存储库中不提供该插件,Maven将下载该插件并开始处理。