当前位置: 首页 > 文档资料 > Maven 中文文档 >

插件(Plug-ins)

优质
小牛编辑
127浏览
2023-12-01

什么是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将下载该插件并开始处理。