找不到符号错误:Lombok 1.18.6 不适用于 Gradle 5.2.1、JDK 10

ap6*_*491 5 java groovy build gradle lombok

使用 Gradle 5.2.1 和 Lombok 1.18.6 依赖项进行的构建在 JDK 10 中失败。Lombok 注释似乎没有得到适当处理。我在源代码中的各种 Java 文件中不断收到“找不到符号”错误。对于为什么会发生这种情况有什么想法吗?我发现已经产生了一个缺陷: https: //github.com/rzwitserloot/lombok/issues/1572

我在用:

Java JDK 10

摇篮5.2.1

龙目岛 1.18.6

谢谢。

ap6*_*491 3

我发现使用一个在编译时处理 Lombok 注释的插件来解决此问题。

我必须在 build.gradle 中执行以下步骤:

1)添加id "net.ltgt.apt" version "0.15"到插件部分。

2) 添加maven { url 'https://projectlombok.org/edge-releases' }到存储库部分。

3)将以下内容添加到依赖项部分:

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'
Run Code Online (Sandbox Code Playgroud)

4)添加任务:

tasks.withType(JavaCompile) {
  options.annotationProcessorPath = configurations.apt
}
Run Code Online (Sandbox Code Playgroud)

这可以让您的构建成功完成。

更新 03/29/2019:此解决方法也适用于 Gradle 5.3、Java JDK 10

谢谢。