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

SpringBoot启动报错:java: variable service未在默认构造方法初始化

解决SpringBoot控制器中variable service not initialized in the default constructor报错

你遇到的问题核心是Lombok的@RequiredArgsConstructor注解未正常生效,导致编译器判定final字段service未被初始化。以下是具体排查和解决步骤:

  • 检查Lombok依赖配置
    确保项目依赖文件中正确引入Lombok,且包含注解处理器相关配置:
    Maven(pom.xml):

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>
    

    Gradle(build.gradle):

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    

    注意SpringBoot 3.x版本需要搭配Lombok 1.18.24及以上版本,版本不兼容会直接导致注解失效。

  • 确认IDE的Lombok支持
    即便开启了注解处理,也要确保IDE安装并启用了Lombok插件:

    • IDEA:进入File > Settings > Plugins,搜索Lombok确认已安装;再到File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing。
    • Eclipse:安装Lombok插件后,进入Project Properties > Java Compiler > Annotation Processing,勾选Enable annotation processing。
  • 手动生成构造函数验证
    暂时移除@RequiredArgsConstructor注解,手动编写构造函数测试:

    public UniversiteController(UniversiteService service) {
        this.service = service;
    }
    

    如果此时编译正常,说明问题确实出在Lombok注解的生效环节,回到前两步重新排查配置。

  • 清理项目缓存
    IDE缓存可能导致注解处理异常,尝试清理后重启IDE:

    • IDEA:File > Invalidate Caches...,选择Invalidate and Restart。
    • Eclipse:Project > Clean...,选择当前项目后执行清理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:51:01