Maven – 插件( Plug-ins)
什么是Maven插件?
Maven实际上是一个插件执行框架,其中每个任务实际上都是由插件完成的。 Maven插件通常用于 –
- 创建jar文件
- 创建战争文件
- 编译代码文件
- 单元测试代码
- 创建项目文档
- 创建项目报告
插件通常提供一组目标,可以使用以下语法执行 –
mvn [plugin-name]:[goal-name]
例如,可以使用maven-compiler-plugin的compile-goal通过运行以下命令来编译Java项目。
mvn compiler:compile
插件类型
Maven提供了以下两种类型的插件 –
Sr.No. | 类型和描述 |
---|---|
1 |
Build plugins 它们在构建过程中执行,应该在pom.xml的 元素中配置。 |
2 |
Reporting plugins 它们在站点生成过程中执行,应在pom.xml的 元素中进行配置。 |
以下是几个常见插件的列表 –
Sr.No. | 插件和说明 |
---|---|
1 |
clean 构建后清理目标。 删除目标目录。 |
2 |
compiler 编译Java源文件。 |
3 |
surefire 运行JUnit单元测试。 创建测试报告。 |
4 |
jar 从当前项目构建JAR文件。 |
5 |
war 从当前项目构建WAR文件。 |
6 |
javadoc 为项目生成Javadoc。 |
7 |
antrun 从构建中提到的任何阶段运行一组ant任务。 |
Example
我们在示例中广泛使用了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将开始处理并显示清洁生命周期的清洁阶段。
[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将下载该插件并开始处理。
最新评论
徒弟可以A师傅,学生可以A老师,为什么外包不能A正式,我觉得很正常。异性相吸这是宇宙真理
PHP天下第一(狗头叼花)
第一个不需要关注公主号直接给激活码的帖子!
客户端超时断开后,服务端如果没有设置超时机制,那也会继续等待处理,万一这期间有消息到了,那不是就接受到消息处理了,但是也没有办法返回到客户端,导致消息丢失。
企业级GO项目开发实战 Kubernetes权威指南 第六版
https://pan.baidu.com/s/1q3bnTncIACKoTZFxvx7BQw?pwd=ii7n
RabbitMQ精讲,项目驱动落地,分布式事务拔高 有吗?
Spring Cloud Alibaba 微服务架构实战 https://pan.baidu.com/s/1jF5voFRoeF0lYAzAPBWSbw?pwd=chqk