IntelliJ IDEA 18.1导入Eclipse Gradle Spring Boot项目后Lombok失效
解决IntelliJ IDEA导入Gradle Spring Boot项目时Lombok不识别的问题
不用安装第三方Lombok插件也能搞定这个问题,我来一步步给你说怎么操作:
问题根源
你用Eclipse模型导入项目时,IntelliJ会优先遵循Eclipse的依赖处理逻辑,但compileOnly这个Gradle依赖范围在Eclipse里对应provided,而Lombok作为注解处理器,需要让编译器明确知道要加载它来生成代码,光靠compileOnly不足以让IDEA在编译阶段正确识别到它。
解决方案步骤
调整Gradle依赖配置
打开项目根目录的build.gradle,在依赖块里补充Lombok的注解处理器配置,修改后的依赖应该是:dependencies { // 原有的其他依赖... compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' }这样做是告诉Gradle和IDEA:Lombok不仅是编译时依赖,还是需要运行的注解处理器,能帮我们生成getter/setter等代码。
重新用Gradle原生方式导入项目(不要用Eclipse模型)
如果你之前已经用Eclipse模型导入了,先把当前项目从IDEA里移除,然后按以下步骤重新导入:- 打开IDEA,选择
File > New > Project from Existing Sources - 找到项目根目录下的
build.gradle文件,选中它并点击OK - 在导入向导中,确保勾选
Use auto-import,然后选择Gradle wrapper(推荐,保持项目依赖一致性)或者本地安装的Gradle版本 - 关键:不要勾选
Import project using Eclipse model这个选项,这个选项会让IDEA切换到Eclipse兼容模式,容易忽略Gradle的注解处理器配置
- 打开IDEA,选择
验证并刷新Gradle配置
导入完成后,右键项目根目录,选择Gradle > Refresh Gradle Project,让IDEA重新同步依赖。
然后检查注解处理器设置是否开启:- 打开
File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors - 确保
Enable annotation processing和Obtain processors from project classpath这两个选项都被勾选
- 打开
做完这些操作后,重新构建项目,你会发现Lombok的编译错误消失了,外部库中也能看到Lombok的jar包了。
内容的提问来源于stack exchange,提问作者ace
相关产品推荐
相关产品推荐

