Maven 每个生命周期中都包含着一系列的阶段(phase),这些phase就相当于Maven提供的统一的接口,然后这些phase的实现由Maven的插件来完成。所以说Maven生命周期的每一个阶段的具体实现都是由Maven插件实现的。

Maven实际上是一个依赖插件执行的框架,每个任务上是由插件完成。Maven插件通常被用来:

  • 创建jar文件
  • 创建war文件
  • 编译代码文件
  • 代码单元测试
  • 创建工程文档
  • 创建工程报告

插件类型

Maven提供了两种类型的插件:

  1. Build plugins:在构建时执行,并在pom.xml的元素中配置。
  2. reporting plugins:在网站生成过程中执行,并在pom.xml的元素中配置。

常用插件:

  • clean:构建之后清理目标文件。删除目标目录。
  • compiler:编译Java源文件。
  • surefile:运行JUnit单元测试。创建测试报告。
  • jar:从当前工程中构建JAR文件。
  • war:从当前工程中构建WAR文件。
  • javadoc:为工程生成Javadoc。
  • antrun:从构建过程的任意一个阶段中运行一个ant任务的集合。

插件实例(在pom.xml中project元素中添加):

     <build>
        <finalName>Customers</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

 

 posted on 2019-07-11 10:37  会飞的金鱼  阅读(150)  评论(0)    收藏  举报