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文件进行配置以满足具体的构建要求。

相关推荐
gugucoding2 天前
55. 【Java】Maven:项目构建的“管家”
java·maven
星空3 天前
maven镜像
java·maven
聊浮游4 天前
JAVA2026最新全套学习资料、学习路线
java·开发语言·jvm·mysql·spring·maven·idea
典典分享指南5 天前
用指纹算法给文章去重:mid_signature 实战
jvm·maven·intellij-idea·jetty
counting money6 天前
SpringBoot 项目创建(IDEA不全,还需要修改)
java·spring boot·spring·maven
编程令我快乐8 天前
maven部分构建参数讲解
java·maven
BIBI20498 天前
Windows 下 Maven 安装与 VSCode 配置
java·windows·vscode·maven·环境搭建·安装教程
神奇小梵9 天前
《javaweb基础》后端篇————maven补充(用maven单元测试,maven常见问题)
单元测试·maven
开发者联盟league9 天前
maven核心插件介绍
java·maven
编程令我快乐9 天前
maven中deploy 的流程
java·maven