我按照文档使用 Gradle 设置了 Lombok,但运行 build
任务显然不会运行注释处理器,并且会因“找不到符号”错误而失败,因为 javac 无法找到 lombok 生成的方法。我的 IDE(Intellij)显然无论如何都设法生成方法并且不会给我任何错误。
我正在使用在 JDK 21 上运行的 Gradle 8.7,并使用 JDK 22 工具链进行编译。
我的 gradle 依赖项设置:
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
testCompileOnly 'org.projectlombok:lombok:1.18.32'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.32'
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
}
仅应用的插件是 java
和
application
。我还尝试使用
--debug
标志运行 gradle 并检查编译器参数,我可以确认 lombok 在那里,尽管
build\generated\sources\annotationProcessor\java\main
目录中没有生成任何内容。
@UtilityClass
注释,这显然阻止了所有注释的运行......当然。我用显式的
static
方法替换了它,并且效果很好。