全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-23 5 分钟 ✍️ juanwangdev

插件配置基础

plugins 元素配置项目使用的插件及其参数。

插件声明结构

XML
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
        <source>17</source>
        <target>17</target>
      </configuration>
      <executions>
        <execution>
          <id>default-compile</id>
          <phase>compile</phase>
          <goals>
            <goal>compile</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

插件元素说明

元素说明
groupId插件组织标识
artifactId插件名称
version插件版本
configuration参数配置
executions执行配置
dependencies插件依赖

configuration 配置

基本配置

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
  <configuration>
    <source>17</source>
    <target>17</target>
    <encoding>UTF-8</encoding>
    <compilerArgs>
      <arg>-Xlint:unchecked</arg>
    </compilerArgs>
  </configuration>
</plugin>

常用 compiler 配置

参数说明示例
source源码版本17
target字节码版本17
encoding编码UTF-8
compilerArgs编译参数-Xlint:unchecked

executions 执行配置

绑定目标到阶段

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-source-plugin</artifactId>
  <version>3.2.1</version>
  <executions>
    <execution>
      <id>attach-sources</id>
      <phase>package</phase>
      <goals>
        <goal>jar-no-fork</goal>
      </goals>
    </execution>
  </executions>
</plugin>

execution 元素

元素说明
id执行标识
phase绑定阶段
goals执行目标列表
configuration执行级配置

pluginManagement

说明

pluginManagement 定义插件版本和默认配置,不直接激活插件。

父 POM 配置

XML
<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>17</source>
          <target>17</target>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

子模块引用

XML
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <!-- version 和 configuration 继承 -->
    </plugin>
  </plugins>
</build>

插件依赖

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.22.2</version>
  <dependencies>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-surefire-provider</artifactId>
      <version>1.3.2</version>
    </dependency>
  </dependencies>
</plugin>

全局配置 vs 执行配置

区别

级别作用范围
plugin/configuration所有执行共享
execution/configuration仅该执行生效

示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <source>17</source>  <!-- 全局配置 -->
  </configuration>
  <executions>
    <execution>
      <id>compile-with-debug</id>
      <configuration>
        <compilerArgs>
          <arg>-g</arg>  <!-- 仅此执行生效 -->
        </compilerArgs>
      </configuration>
    </execution>
  </executions>
</plugin>

查看插件参数

Bash
mvn help:describe -Dplugin=maven-compiler-plugin -Ddetail

要点总结

  • plugins 声明插件,configuration 配置参数
  • executions 绑定插件目标到生命周期阶段
  • pluginManagement 管理插件版本,不激活插件
  • 全局 configuration 所有执行共享
  • 使用 help:describe 查看插件参数详情

📝 发现内容有误?点击此处直接编辑

← 上一篇 插件命令执行
下一篇 → 生命周期阶段绑定
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库