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

常用内置插件

Maven 内置插件覆盖核心构建任务,无需手动声明即可使用。

核心插件列表

插件功能默认绑定阶段
maven-compiler-plugin编译 Java 源码compile、test-compile
maven-jar-plugin打包 JARpackage
maven-war-plugin打包 WARpackage
maven-surefire-plugin执行单元测试test
maven-clean-plugin清理构建产物clean
maven-install-plugin安装到本地仓库install
maven-deploy-plugin发布到远程仓库deploy
maven-resources-plugin处理资源文件process-resources

maven-compiler-plugin

功能

编译 Java 源码到字节码。

默认配置

XML
<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>    <!-- 字节码版本 -->
    <encoding>UTF-8</encoding>
  </configuration>
</plugin>

使用属性配置

XML
<properties>
  <maven.compiler.source>17</maven.compiler.source>
  <maven.compiler.target>17</maven.compiler.target>
</properties>

maven-jar-plugin

功能

打包项目为 JAR 文件。

配置示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>3.2.2</version>
  <configuration>
    <archive>
      <manifest>
        <mainClass>com.example.Main</mainClass>  <!-- 主类 -->
        <addClasspath>true</addClasspath>
      </manifest>
    </archive>
  </configuration>
</plugin>

输出产物

XML
target/${artifactId}-${version}.jar

maven-war-plugin

功能

打包 Web 项目为 WAR 文件。

配置示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <version>3.3.2</version>
  <configuration>
    <warSourceDirectory>src/main/webapp</warSourceDirectory>
    <failOnMissingWebXml>false</failOnMissingWebXml>
  </configuration>
</plugin>

输出产物

Bash
target/${artifactId}-${version}.war

maven-surefire-plugin

功能

执行单元测试。

配置示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.22.2</version>
  <configuration>
    <skipTests>false</skipTests>
    <includes>
      <include>**/*Test.java</include>
    </includes>
    <excludes>
      <exclude>**/*IntegrationTest.java</exclude>
    </excludes>
  </configuration>
</plugin>

跳过测试

XML
mvn package -DskipTests          # 跳过测试执行
mvn package -Dmaven.test.skip=true  # 跳过测试编译和执行

maven-clean-plugin

功能

清理构建产物目录。

配置示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-clean-plugin</artifactId>
  <version>3.1.0</version>
  <configuration>
    <deleteAll>true</deleteAll>
    <filesets>
      <fileset>
        <directory>logs</directory>
        <includes>
          <include>**/*.log</include>
        </includes>
      </fileset>
    </filesets>
  </configuration>
</plugin>

maven-resources-plugin

功能

复制和处理资源文件。

配置示例

XML
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>3.2.0</version>
  <configuration>
    <encoding>UTF-8</encoding>
    <nonFilteredFileExtensions>
      <extension>jpg</extension>
      <extension>png</extension>
    </nonFilteredFileExtensions>
  </configuration>
</plugin>

插件版本管理

使用 pluginManagement

text
<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
    </plugin>
  </plugins>
</pluginManagement>

父 POM 统一版本

text
<!-- 父 POM -->
<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>

<!-- 子模块无需声明版本 -->
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <!-- version 继承 -->
  </plugin>
</plugins>

要点总结

  • compiler:编译源码,配置 Java 版本
  • jar:打包 JAR,可配置主类清单
  • war:打包 WAR,可配置 webapp 目录
  • surefire:执行测试,支持跳过和过滤
  • clean:清理 target 目录
  • 使用 pluginManagement 统一插件版本

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

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

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

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