📅  最后修改于: 2020-11-12 04:53:49             🧑  作者: Mango
Maven实际上是一个插件执行框架,其中每个任务实际上都是由插件完成的。 Maven插件通常用于-
插件通常提供一组目标,可以使用以下语法执行这些目标-
mvn [plugin-name]:[goal-name]
例如,可以通过运行以下命令,使用maven-compiler-plugin的compile-goal编译Java项目。
mvn compiler:compile
Maven提供了以下两种类型的插件-
Sr.No. | Type & Description |
---|---|
1 |
Build plugins They execute during the build process and should be configured in the |
2 |
Reporting plugins They execute during the site generation process and they should be configured in the |
以下是一些常见插件的列表-
Sr.No. | Plugin & Description |
---|---|
1 |
clean Cleans up target after the build. Deletes the target directory. |
2 |
compiler Compiles Java source files. |
3 |
surefire Runs the JUnit unit tests. Creates test reports. |
4 |
jar Builds a JAR file from the current project. |
5 |
war Builds a WAR file from the current project. |
6 |
javadoc Generates Javadoc for the project. |
7 |
antrun Runs a set of ant tasks from any phase mentioned of the build. |
例
在示例中,我们广泛使用了maven-antrun-plugin在控制台上打印数据。请参阅“构建配置文件”一章。让我们以更好的方式理解它,并在C:\ MVN \ 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中指定了插件。
每个插件可以有多个目标。
您可以使用其phase元素从插件应该开始处理的位置定义阶段。我们已经使用了清洁阶段。
您可以通过将任务绑定到插件目标来配置要执行的任务。我们已经将echo任务与maven-antrun-plugin的运行目标绑定了。
如果本地存储库中不可用,那么Maven将下载该插件并开始处理。