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

如何访问依赖项目中Lombok注解生成的Getter与Setter方法?

跨项目访问Lombok生成的Getter/Setter方法解决方案

核心问题本质

Lombok注解的Retention是SOURCE,编译后注解会被丢弃,但关键是EntityModel项目是否在编译阶段正确把getter/setter等方法生成到.class文件中。你遇到的编译报错和无代码提示,本质是Onboarding项目依赖的EntityModel产物里没有这些生成的方法。

具体解决步骤

1. 确保EntityModel编译时生成Lombok代码

Lombok是编译时注解处理器,必须让项目构建工具(Maven/Gradle)正确配置,保证编译阶段自动生成方法:

  • Maven配置示例:
    在pom.xml中添加Lombok依赖,并配置编译器启用注解处理:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version> <!-- 使用最新稳定版 -->
        <scope>provided</scope>
    </dependency>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
                <configuration>
                    <source>17</source> <!-- 替换为你的JDK版本 -->
                    <target>17</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.30</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  • Gradle配置示例:
    在build.gradle中配置:

    dependencies {
        compileOnly 'org.projectlombok:lombok:1.18.30'
        annotationProcessor 'org.projectlombok:lombok:1.18.30'
    }
    
    compileJava {
        options.annotationProcessorPath = configurations.annotationProcessor
    }
    

配置完成后重新编译EntityModel,检查编译输出的.class文件,确认getId()、setId()等方法已存在(注解不存在是正常的,因为Retention为SOURCE)。

2. 正确配置Onboarding项目的依赖

  • 如果是本地多模块项目(如Maven/Gradle多模块),直接依赖EntityModel模块即可,构建工具会自动保证先编译EntityModel,再编译Onboarding。
  • 如果是远程仓库依赖,确保上传到仓库的EntityModel jar包是已编译完成、包含Lombok生成方法的版本,不要上传未编译的源码或未处理的jar。

3. 解决IDE无代码提示问题

  • 确保Onboarding项目的IDE安装并启用了Lombok插件:
    • IntelliJ IDEA:打开File > Settings > Plugins,搜索Lombok并启用;再进入File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing。
    • Eclipse:安装Lombok插件后,进入项目属性Java Compiler > Annotation Processing,勾选Enable annotation processing。

4. 常见排查点

  • 不要将Lombok的依赖scope设为compile,provided足够,避免冗余依赖。
  • 检查EntityModel的编译日志,确认Lombok注解处理器是否被调用,如果没有,可能是构建工具配置有误。
  • 避免在EntityModel中同时使用Lombok注解和手写getter/setter,防止方法冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:01:26