- Maven教程
- Maven - 主页
- Maven - 概述
- Maven - 环境设置
- Maven-POM
- Maven - 构建生命周期
- Maven - 构建配置文件
- Maven - 存储库
- Maven - 插件
- Maven - 创建项目
- Maven - 构建和测试项目
- Maven - 外部依赖项
- Maven - 项目文档
- Maven - 项目模板
- Maven - 快照
- Maven - 构建自动化
- Maven - 管理依赖关系
- Maven - 部署自动化
- Maven - Web 应用程序
- Maven - Eclipse IDE
- Maven - NetBeans
- Maven-IntelliJ IDEA
- Maven 有用资源
- Maven - 问题与解答
- Maven - 快速指南
- Maven - 有用的资源
- Maven - 讨论
Maven - 插件
什么是 Maven 插件?
Maven实际上是一个插件执行框架,其中每个任务实际上都是由插件完成的。Maven 插件通常用于 -
- 创建 jar 文件
- 创建战争文件
- 编译代码文件
- 代码的单元测试
- 创建项目文档
- 创建项目报告
插件通常提供一组目标,可以使用以下语法执行 -
mvn [plugin-name]:[goal-name]
例如,可以通过运行以下命令使用 maven-compiler-plugin 的编译目标来编译 Java 项目。
mvn compiler:compile
插件类型
Maven 提供了以下两种类型的插件 -
先生。 | 类型和描述 |
---|---|
1 | 构建插件 它们在构建过程中执行,并且应该在 pom.xml 的 <build/> 元素中进行配置。 |
2 | 报告插件 它们在站点生成过程中执行,并且应在 pom.xml 的 <reporting/> 元素中进行配置。 |
以下是一些常见插件的列表 -
先生。 | 插件及说明 |
---|---|
1 | 干净的 构建后清理目标。删除目标目录。 |
2 | 编译器 编译 Java 源文件。 |
3 | 万无一失 运行 JUnit 单元测试。创建测试报告。 |
4 | 罐 从当前项目构建 JAR 文件。 |
5 | 战争 从当前项目构建 WAR 文件。 |
6 | javadoc 为项目生成 Javadoc。 |
7 | 安特伦 从构建提到的任何阶段运行一组 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 阶段。
C:\MVN>mvn clean [INFO] Scanning for projects... [INFO] [INFO] ----------------< com.companyname.projectgroup:project >---------------- [INFO] Building project 1.0 [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ project --- [INFO] Deleting C:\MVN\target [INFO] [INFO] --- maven-antrun-plugin:1.1:run (id.clean) @ project --- [INFO] Executing tasks [echo] clean phase [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.266 s [INFO] Finished at: 2021-12-13T13:58:10+05:30 [INFO] ------------------------------------------------------------------------ C:\MVN>
上面的例子说明了以下关键概念 -
插件是在 pom.xml 中使用 plugins 元素指定的。
每个插件可以有多个目标。
您可以使用其phase元素定义插件应从何处开始处理的阶段。我们使用了清洁阶段。
您可以通过将任务绑定到插件的目标来配置要执行的任务。我们将echo任务与maven-antrun-plugin的运行目标绑定。
如果本地存储库中没有可用的插件,Maven 将下载该插件并开始处理。