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

STS 3.9.4无法识别Lombok注解问题求助

针对Ubuntu 16.04 LTS下STS+Lombok配置失败的额外排查思路

我之前在Ubuntu环境折腾STS和Lombok兼容的时候也踩过不少坑,给你几个没提到的方向试试:

  • 确认STS自身的JDK环境与项目一致
    Ubuntu系统很容易同时存在多个JDK版本,STS启动时用的JDK可能和你项目配置的Java 8不是同一个。你可以通过Help -> About -> Installation Details -> Configuration搜索java.home,查看STS实际使用的JDK路径。如果不是你的Java 8路径,需要修改STS.ini,在-vmargs参数之前添加指定JDK的路径,比如:

    -vm
    /usr/lib/jvm/java-8-openjdk-amd64/bin/java
    

    注意-vm和路径要分两行写,顺序不能错。

  • 验证Lombok Agent是否真正生效
    写一个简单的测试类,比如:

    import lombok.Data;
    
    @Data
    public class TestLombok {
        private String name;
        private int age;
    }
    

    编译后到target/classes目录下,执行javap -p TestLombok命令。如果输出里能看到自动生成的getter/setter方法,说明Lombok在编译层面生效了,问题可能出在STS编辑器的配置;如果看不到,那就是Agent没加载成功,再检查STS.ini里的-javaagent路径是否为绝对路径、有没有拼写错误(Ubuntu路径区分大小写)。

  • 开启STS的注解处理器支持
    STS默认可能没开启注解处理器,导致编辑器识别不了Lombok生成的方法。打开Window -> Preferences -> Java -> Compiler -> Annotation Processing,勾选Enable annotation processing;然后切换到Factory Path标签,点击Add External JARs添加你安装的lombok.jar,之后重启STS并执行Project -> Clean...清理项目。

  • 完善Maven的注解处理器配置
    除了pom.xml里的Lombok依赖,还可以明确配置Maven编译时的注解处理器路径,避免依赖环境变量的问题:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.16.20</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    执行mvn clean compile后,右键项目选择Maven -> Update Project...刷新STS中的项目。

  • 检查文件权限问题
    Ubuntu下如果lombok.jar所在路径权限不足,STS可能无法读取。你可以把lombok.jar复制到STS安装目录的plugins文件夹(比如/opt/sts-3.9.4.RELEASE/plugins/),然后执行sudo chmod 644 /opt/sts-3.9.4.RELEASE/plugins/lombok-1.16.20.jar赋予可读权限,再重启STS。

  • 尝试兼容更好的Lombok版本
    STS 3.9.4对应的Eclipse版本是Oxygen,Lombok 1.16.20和Oxygen的兼容性可能存在小问题。可以试试Lombok 1.18.2(这个版本对Oxygen支持更稳定),重新安装配置后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:41:13