gpt4 book ai didi

gradle - annotationProcessor gradle 4.7+ 配置不运行 lombok

转载 作者:行者123 更新时间:2023-12-02 10:48:30 25 4
gpt4 key购买 nike

我在使用 gradle 4.7 项目时收到以下消息

The following annotation processors were detected on the compile classpath: 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor' and 'lombok.launch.AnnotationProcessorHider$ClaimingProcessor'. Detecting annotation processors on the compile classpath is
Deprecated and Gradle 5.0 will ignore them. Please add them to the annotation processor path instead. If you did not intend to use annotation processors, you can use the '-proc:none' compiler argument to ignore them.

运行时

gradlew build --warning-mode=all

在具有以下 Gradle 配置的项目上

compileOnly('org.projectlombok:lombok')
testCompileOnly('org.projectlombok:lombok')

正如警告所示,建议将它们放在 annotationProcessor (和 testAnnotationProcessor)配置上,以便与 gradle 5.0 兼容

annotationProcessor('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')

但是,通过一个简单的测试:

@Slf4j
public class LombokTests {
@Test
public void lombokCompiles() {
log.info("foobar");
}
}

该配置失败:

> Task :compileTestJava FAILED
D:\Users\bobjones\repos\my-new-app\src\test\java\com\example\app\LombokTests.java:10: error: cannot find symbol
@Slf4j
^
symbol: class Slf4j
1 error

我错过了什么吗?

最佳答案

添加compileOnly/testCompileOnly配置

annotationProcessor('org.projectlombok:lombok')
compileOnly('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
testCompileOnly('org.projectlombok:lombok')
<小时/>

根据documentation ,annotationProcessor 配置仍然需要 compileOnly (以及用于测试类的 testCompileOnly)配置才能运行。至于对增量注释处理的支持,Lombok 的实现者刚刚合并了对 master 的支持,但截至 2018 年 5 月 25 日尚未包含上线版本。

他们的最后一个版本 16.2.20 跨越提交直到 9th of Jan 2018 Gradle 更改已被拉入 15th of May 2018 上的 master 中所以我怀疑新版本距离发布不会太远,尽管他们的'Edgy'发行版不包含有关此功能的任何注释。

编辑 2020 年 10 月:

一个Gradle plugin is available by io.freefair它可以自动配置这些设置,并帮助使 lombok 保持最新(当然您可以自己覆盖 lombok 版本)。

关于gradle - annotationProcessor gradle 4.7+ 配置不运行 lombok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50519138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com