Maven - 插件

什么是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.

<project xmlns = "http://maven.apache.org/POM/4.0.0"
   xmlns:xsi = "https://img01.yuandaxia.cn/Content/img/tutorials/maven/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将下载该插件并开始处理.