由于Lombok导致编译失败

Lerul阅读:

我有一个使用gradle作为构建工具以及lombok的springboot应用程序。

当我运行./gradlew build命令时,compileJava任务失败,并显示许多与lombok批注相关的消息。例子:

> Task :compileJava
\my\path\ResolverDelegator.java:12: error: cannot find symbol
import static com.business.lunch.dto.OfferContent.builder;
^
  symbol:   static builder
  location: class OfferContent
\my\path\LunchOfferService.java:40: error: cannot find symbol
        lunchOfferRepository.findByLocation(lunchOffer.getLocation())
                                                      ^
  symbol:   method getLocation()
  location: variable lunchOffer of type LunchOffer
\my\path\ResolverDelegator.java:60: error: cannot find symbol
        return builder()
               ^
  symbol:   method builder()
  location: class ResolverDelegator

...

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

我的gradle包装器设置为使用Gradle 6.1 distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip

龙目岛版本是1.18.12,我提到dependencies我的build.gradle文件中有以下条目

    compileOnly 'org.projectlombok:lombok:1.18.12'
    annotationProcessor 'org.projectlombok:lombok:1.18.12'

任何想法/建议都欢迎。

rzwitserloot:

javac中存在一个有关静态导入生成的方法的已知错误。javac得出结论,注释处理器不能错误地“修复”它,只会抛出错误。

解决方法是不静态导入它:

import com.business.lunch.dto.OfferContent;

....
    return OfferContent.builder();

编辑:免责声明:我是Lombok项目的核心撰稿人。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章