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

Windows环境下Maven编译时Lombok生成的Getter/Setter无法识别怎么办?

解决Maven编译时Lombok注解失效问题

你的核心问题是Maven编译阶段没有加载Lombok的注解处理器——IDE能识别Lombok注解所以没有红报错,但Maven原生编译不会自动处理这些注解,导致getter/setter、构造器都没生成,最终编译失败。

修复步骤

1. 修改pom.xml,配置Maven编译器插件

在pom.xml中添加maven-compiler-plugin配置,明确指定Lombok作为注解处理器。修改后的完整pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.minimal_reproducible_example</groupId>
  <artifactId>stack_overflow_mre</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>stack_overflow_mre</name>
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <exec.mainClass>${project.groupId}.App</exec.mainClass>
    <!-- 统一管理Lombok版本 -->
    <lombok.version>1.18.38</lombok.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <!-- 新增编译器插件配置,启用Lombok注解处理器 -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.13.0</version>
        <configuration>
          <annotationProcessorPaths>
            <path>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>${lombok.version}</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

2. 升级Lombok版本(关键)

你使用的JDK是23.0.1,而Lombok 1.18.36仅支持到JDK 21,版本不兼容会导致注解处理器无法正常工作。必须把Lombok版本升级到1.18.38或更高(1.18.38开始支持JDK 23)。

3. 验证修复

  • 执行mvn clean install重新编译项目
  • 如果仍有问题,检查VS Code设置:
    • 打开设置,搜索java.compiler.annotationProcessing.enabled,确保选项设为true
    • 清理本地Maven仓库中Lombok的缓存(路径一般为~/.m2/repository/org/projectlombok),重新下载依赖

关于“短暂工作”的现象解释

之前临时能用是因为VS Code后台自动生成了Lombok代码并缓存,但mvn clean会清空编译产物,Maven重新编译时因为没配置注解处理器,无法生成代码,所以再次失效。

内容的提问来源于stack exchange,提问作者Camille F.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:13:24