找不到符号错误:Lombok 1.18.6不适用于Gradle 5.2.1,JDK 10 [英] Cannot find symbol error: Lombok 1.18.6 does not work with Gradle 5.2.1, JDK 10
问题描述
在JDK 10中,具有Gradle 5.2.1和Lombok 1.18.6依赖关系的构建失败.我在源代码中的各种Java文件中不断收到找不到符号"错误.对为什么会发生这种情况有任何想法吗?我发现已经创建了一个缺陷: https://github.com/rzwitserloot/lombok/第/1572期
Builds with Gradle 5.2.1 and Lombok 1.18.6 dependency are failing with JDK 10. It seems Lombok annotation are not being processed appropriately. I keep getting "cannot find symbol" error across various Java files in my source. Any thoughts on why this might be happening? I found that a defect has already been created: https://github.com/rzwitserloot/lombok/issues/1572
我正在使用:
Java JDK 10
Java JDK 10
5.2.1级
龙目岛1.18.6
谢谢.
推荐答案
我发现以下问题可通过使用用于在编译时处理Lombok批注的插件解决.
I found the following work around for this issue using a plugin for processing Lombok annotation in compile time.
我必须在build.gradle中执行以下步骤:
I had to perform the following steps in build.gradle:
1)将id "net.ltgt.apt" version "0.15"
添加到插件部分.
1) Add id "net.ltgt.apt" version "0.15"
to plugins section.
2)将maven { url 'https://projectlombok.org/edge-releases' }
添加到存储库部分.
2) Add maven { url 'https://projectlombok.org/edge-releases' }
to repositories section.
3)将以下内容添加到依赖项"部分:
3) Add the following to dependencies section:
compileOnly 'org.projectlombok:lombok:edge-SNAPSHOT'
apt 'org.projectlombok:lombok:edge-SNAPSHOT'
compileOnly 'org.projectlombok:lombok:1.18:6'
annotationProcessor 'org.projectlombok:lombok:1.18:6'
4)添加任务:
tasks.withType(JavaCompile) {
options.annotationProcessorPath = configurations.apt
}
这使您的构建成功完成.
This lets your build complete successfully.
更新03/29/2019:此替代方法也适用于Gradle 5.3,Java JDK 10
Update 03/29/2019: This workaround also works with Gradle 5.3, Java JDK 10
谢谢.
这篇关于找不到符号错误:Lombok 1.18.6不适用于Gradle 5.2.1,JDK 10的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!