You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven Compiler Plugin无法解析BOM中定义版本的依赖问题

问题根因与解决方案

为什么BOM管不了注解处理器的版本?

Maven的BOM默认仅管控项目<dependencies>和<dependencyManagement>节点下的依赖版本,但annotationProcessorPaths属于maven-compiler-plugin插件的内部配置依赖,不属于项目常规依赖范畴,所以不会自动继承BOM中定义的版本,必须显式关联。

解决方法

在父POM的<dependencyManagement>中声明这些注解处理器的依赖(版本已在BOM中定义的话,这里无需重复写版本,直接继承BOM即可),然后在插件的annotationProcessorPaths里只填写groupId和artifactId。

示例配置:

  1. BOM中的依赖声明(确保父POM已导入该BOM):
<dependencyManagement>
  <dependencies>
    <!-- BOM中统一定义注解处理器版本 -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.30</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.mapstruct</groupId>
      <artifactId>mapstruct-processor</artifactId>
      <version>1.5.5.Final</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-jpamodelgen</artifactId>
      <version>6.4.4.Final</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
  1. 父POM中maven-compiler-plugin的配置:
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.11.0</version>
      <configuration>
        <annotationProcessorPaths>
          <path>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <!-- 无需指定版本,自动从dependencyManagement(即BOM)获取 -->
          </path>
          <path>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
          </path>
          <path>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
          </path>
        </annotationProcessorPaths>
      </configuration>
    </plugin>
  </plugins>
</build>

这样配置后,Maven会从dependencyManagement(继承自BOM)中读取注解处理器的版本,无需重复定义。

内容的提问来源于stack exchange,提问作者Sjaak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:15:04