Maven常用插件清单

Maven 是一个强大的项目管理和构建工具,它使用插件来执行各种构建生命周期任务。以下是常用的一些 Maven 构建插件及其主要用途:

1. Maven Compiler Plugin

  • 用途:编译Java源代码。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
          </configuration>
        </plugin>
      </plugins>
    </build>

2. Maven Surefire Plugin

  • 用途:运行单元测试(JUnit或TestNG)。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.0.0-M5</version>
        </plugin>
      </plugins>
    </build>

3. Maven Failsafe Plugin

  • 用途:运行集成测试。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.0.0-M5</version>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

4. Maven Jar Plugin

  • 用途:打包成JAR文件。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
      </plugins>
    </build>

5. Maven War Plugin

  • 用途:打包成WAR文件,用于Web应用程序。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.3.1</version>
        </plugin>
      </plugins>
    </build>

6. Maven Shade Plugin

  • 用途:创建包含所有依赖的"uber"JAR,适合独立运行的应用程序。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.2.4</version>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>shade</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

7. Maven Assembly Plugin

  • 用途:创建自定义分发包,可以包括项目的输出、依赖和任意文件。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.3.0</version>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>
          <executions>
            <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

8. Maven Dependency Plugin

  • 用途:处理依赖关系,例如复制依赖到特定目录、分析依赖等。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>3.1.2</version>
          <executions>
            <execution>
              <id>copy-dependencies</id>
              <phase>package</phase>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>

9. Maven Clean Plugin

  • 用途 :清理项目的工作目录,删除target目录中的生成文件。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
      </plugins>
    </build>

10. Maven Site Plugin

  • 用途:生成项目站点文档,包含报告和其他信息。

  • 配置示例 :

    xml 复制代码
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.9.1</version>
        </plugin>
      </plugins>
    </build>

总结

这些插件覆盖了从编译、测试、打包到部署的整个Maven构建生命周期的不同方面。根据项目需求,可以选择合适的插件,并通过POM文件进行配置以满足具体的构建要求。

相关推荐
程序猿乐锅2 天前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven
java_nnnn2 天前
Spring Boot 快速上手:从 Maven 到第一个 Controller
java·spring·java-ee·maven
光年20003 天前
Mock-Server开箱即用的Mock服务
java·maven·mock·jetty
Cindy_cd3 天前
IDEA2021 配置 JDK+Maven
java·开发语言·maven
何中应5 天前
Maven 执行控制台中文乱码问题
java·maven·intellij-idea
long、涯6 天前
win10安装Maven3.9(图文版)
java·maven
2601_9538246113 天前
基于SSM的水果超市管理系统
java·tomcat·maven
明月_清风13 天前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
今年下半年13 天前
SpringBoot整合金蝶中间件
spring boot·中间件·maven
vx_BS8133015 天前
【项目编号:project51629】Spring Boot 乡村自来水缴费系统:把抄表、水费生成与在线缴费做成一条数字化闭环
java·spring boot·eclipse·tomcat·maven