用Lombok 1.18.12构建的Gradle 6.4不生成getter和setter

问题描述

尝试添加

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

和版本.gradle中的指定版本

lombokVersion="1.18.12"

仍然编译失败,缺少getter / setter。 使用了--debug选项,并将提取的参数传递给java编译器并用javac执行,编译就可以了。 通过gradle命令行选项和以下属性尝试覆盖Java编译器选项

compileJava.options.fork = true
compileJava.options.forkOptions.executable = '/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home/bin/javac'

仍然没有运气。它似乎仍在使用内部groovy编译器org.gradle.api.internal.tasks.compile.JdkJavaCompiler 有人遇到类似的问题吗?

解决方法

将lombok依赖项添加到common / build.gradle

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

    testCompileOnly 'org.projectlombok:lombok:1.18.12'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'