You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Lombok @Builder报错:无法找到ProcessorLombokBOBuilder类求助

解决Lombok @Builder 找不到ProcessorLombokBOBuilder类的问题

这个问题我之前踩过坑,本质是Lombok的注解处理器没正常工作,导致编译时没生成对应的Builder类,编译器自然找不到这个符号。下面给你几个必查的配置点和解决办法:

1. 确认Lombok依赖与注解处理器配置正确

Lombok是通过编译时注解处理器生成代码的,光加依赖还不够,得确保注解处理器也配置到位:

Maven项目(pom.xml)

要同时引入Lombok依赖,并配置annotationProcessor路径:

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version> <!-- 建议使用最新稳定版 -->
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <source>1.8</source> <!-- 对应你的项目JDK版本 -->
                <target>1.8</target>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.18.30</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

Gradle项目(build.gradle)

需要在依赖中明确添加annotationProcessor:

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

2. 检查IDE的Lombok插件与注解处理开关

即使依赖配对了,IDE如果没识别Lombok也会报错:

  • IntelliJ IDEA
    1. 打开File > Settings > Plugins,搜索Lombok并安装(未安装的话)
    2. 进入File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing
    3. 重启IDE后重新编译项目
  • Eclipse
    1. 把Lombok的jar包直接拖入Eclipse安装目录,重启后完成插件配置
    2. 打开Window > Preferences > Java > Compiler > Annotation Processing,勾选Enable annotation processing

3. 简化你的Builder调用写法

其实不用手动new ProcessorLombokBO.ProcessorLombokBOBuilder(),Lombok会给类生成一个静态的builder()方法,写法更简洁还不容易出错:

public static void main(String[] args) {
    ProcessorLombokBO processorLombokBO = ProcessorLombokBO.builder()
            .panel("Brown")
            .hardDisk("SanDisk 256GB")
            .ram("4GB")
            .motherBoard("Intel")
            .build();
    System.out.println(processorLombokBO);
}

做完上面几步,重新编译运行,应该就能解决找不到Builder类的问题了。

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

火山引擎 最新活动