找不到符号错误: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

查看:651
本文介绍了找不到符号错误:Lombok 1.18.6不适用于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆