macOS Lombok 编译报错完整排查方案

8次阅读
没有评论

一、最常见原因(IDE 没装 Lombok 插件)

1. IDEA / JetBrains 系列(必做)

  1. 打开 IDEA → Settings → Plugins
  2. 搜索 Lombok,安装官方插件并重启 IDEA
  3. 开启注解处理: Settings → Build, Execution, Deployment → Compiler → Annotation Processors ✅ 勾选 Enable annotation processing
  • Obtain processors from project classpath

2. VS Code

安装插件:Lombok Annotations Support for VS Code

二、Maven 项目 pom.xml 依赖(版本兼容)

xml

<!-- Lombok 依赖 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>

Maven 编译插件必须配置 annotationProcessor

xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>17</source> <!-- 和项目JDK一致 -->
                <target>17</target>
                <encoding>UTF-8</encoding>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.18.30</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

三、Gradle 项目配置

Groovy

groovy

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.30'
    annotationProcessor 'org.projectlombok:lombok:1.18.30'
}

Kotlin DSL

kotlin

dependencies {
    compileOnly("org.projectlombok:lombok:1.18.30")
    annotationProcessor("org.projectlombok:lombok:1.18.30")
}

四、macOS 专属坑点

1. JDK 版本与 Lombok 不匹配

  • JDK 8 ~ 17:1.18.24 ~ 1.18.30 通用
  • JDK 21+:建议 lombok 1.18.30+

macOS 自带系统 JDK 不要用,手动安装 Azul/Zulu/OpenJDK,在 IDEA 里指定项目 SDK。

2. 权限 & 缓存问题

  1. 清理 IDEA 缓存: File → Invalidate Caches... → Invalidate and Restart
  2. Maven 清理:

bash

运行

mvn clean

Gradle:

bash

运行

./gradlew clean
  1. 手动删除项目下 target / build 文件夹

3. M 系列芯片(M1/M2/M3)报错

极少数旧版 lombok 字节码兼容问题,直接升级 lombok 到 1.18.30 即可解决原生 arm64 编译异常。

五、典型报错对应解决

  1. 符号找不到 get/set 方法 插件未开启注解处理 → 开启 Enable annotation processing
  2. cannot find symbol constructor @Data/@NoArgsConstructor 冲突,按需加 @AllArgsConstructor / @NoArgsConstructor
  3. Maven 命令行mvn compile报错但 IDEA 能跑 pom 没配 annotationProcessorPaths,按上文补全 maven-compiler-plugin 配置
  4. 升级 macOS 系统后突然编译失败 重装 Lombok 插件 + 重启 IDEA + 清缓存

六、终极兜底方案

如果插件始终无效,临时关闭 Lombok 注解,安装 IDEA 插件 GenerateAllSetter 手动生成 get/set;

或使用 lombok.config 在项目根目录新建文件:

config

lombok.addLombokGeneratedAnnotation = true
lombok.anyConstructor.addConstructorProperties = true
正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码