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

Java 21环境下Maven集成Lombok编译失败问题求助

问题:Maven编译Lombok项目失败,Eclipse运行正常

当前环境与依赖配置

使用Lombok 1.18.34,pom.xml中的Lombok依赖配置如下:

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

问题现象

项目在Eclipse中可正常运行,但执行Maven编译时,所有使用Lombok的类均出现构建错误,示例错误如下:

[ERROR] /..../ExtractResult.java:[73,47] type lombok.Builder does not take parameters
[ERROR] /..../Selector.java:[29,56] cannot find symbol
  symbol:   class Builder
  location: class ....TaggedGroupingTransformer

从报错来看,Maven构建过程未识别到Lombok。

已尝试的解决方案

  • 配置maven-compiler-plugin的annotationProcessorPaths,引入Lombok作为注解处理器:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>21</source>
                <target>21</target>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>${lombok.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 尝试使用lombok-maven-plugin的delombok功能(非预期方案,仅用于排查):
<build>
    <plugins>
        <plugin>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
            <version>1.18.20.0</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>delombok</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>${lombok.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

以上两种方案均未解决问题,且delombok未在target/generated-sources/annotations目录生成任何文件。

补充信息

  • 另有一个Java 11环境的同类项目可正常构建,但将当前项目切换为Java 11后仍报错;
  • 当前项目部分类在@Builder中使用泛型,示例代码如下:
@Builder(toBuilder = true, builderClassName = "Builder")
@ToString(exclude = {"source", "intermediateTexts"})
@EqualsAndHashCode
public class ExtractResult<T extends ExtractText> {
}

但在正常项目中添加相同泛型配置后仍可编译,因此排除泛型导致问题的可能。

请问还有哪些排查方向?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 16:25:55