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

Java8升级至17后SpringBoot Maven项目Lombok构建报错求助

Java 8升级到17后Lombok构建报错的解决办法

核心原因

Java 17引入模块化系统(JPMS),旧版本Lombok无法访问com.sun.tools.javac.processing.JavacProcessingEnvironment这类内部API,导致注解处理器失效。


1. 升级Lombok至兼容Java 17的版本

必须使用Lombok 1.18.20及以上版本,该版本开始支持Java 16+的模块化环境。在pom.xml中更新依赖:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version> <!-- 或最新稳定版 -->
    <scope>provided</scope>
</dependency>

2. 配置Maven编译器插件适配Java 17

在pom.xml的build节点下,确保maven-compiler-plugin正确指定Java版本,并显式声明Lombok作为注解处理器:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version> <!-- 需支持Java 17的版本 -->
            <configuration>
                <source>17</source>
                <target>17</target>
                <release>17</release> <!-- 统一指定Java版本 -->
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.18.30</version> <!-- 与依赖版本一致 -->
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

3. 同步IDE配置(若使用IDE构建)

  • IntelliJ IDEA:
    • 确保Lombok插件为最新版本(Settings → Plugins → Lombok)
    • 开启注解处理(Settings → Build, Execution, Deployment → Compiler → Annotation Processors → 勾选"Enable annotation processing")
    • 项目SDK切换为Java 17(Project Structure → Project Settings → Project)
  • Eclipse:
    • 安装最新版Lombok插件
    • 配置项目JDK为17,并在项目属性中开启注解处理

4. 清理缓存后重新构建

执行以下命令强制清理并构建,避免旧依赖缓存干扰:

mvn clean install -U

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:20:23