📜  Maven-插件

📅  最后修改于: 2020-11-12 04:53:49             🧑  作者: Mango


什么是Maven插件?

Maven实际上是一个插件执行框架,其中每个任务实际上都是由插件完成的。 Maven插件通常用于-

  • 创建jar文件
  • 创建战争文件
  • 编译代码文件
  • 代码的单元测试
  • 创建项目文档
  • 创建项目报告

插件通常提供一组目标,可以使用以下语法执行这些目标-

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 element of pom.xml.

2

Reporting plugins

They execute during the site generation process and they should be configured in the element of the pom.xml.

以下是一些常见插件的列表-

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