升级到gradle 4.7后,我之前的无警告版本现在会发出此警告:
在编译类路径上检测到以下注释处理器:'lombok.launch.AnnotationProcessorHider $ AnnotationProcessor'和'lombok.launch.AnnotationProcessorHider $ ClaimingProcessor'。 不推荐在编译类路径上检测注释处理器,Gradle 5.0将忽略它们。请将它们添加到注释处理器路径中。如果您不打算使用注释处理器,则可以使用'-proc:none'编译器参数来忽略它们。
似乎不推荐使用注释处理器,并且gradle版本5.0不支持注释处理器。
我的项目使用了lombok,它需要注释处理器,所以使用-proc:none
不是一个选项。当verison 5.0发布时,两者都没有停止使用Gradle。
我如何:
答案 0 :(得分:29)
将lombok依赖关系类型从compile
更改为annotationProcessor
,因此build.gradle
文件中的依赖关系部分应如下所示:
dependencies {
compileOnly('org.projectlombok:lombok:1.16.20')
annotationProcessor 'org.projectlombok:lombok:1.16.20'
// compile 'org.projectlombok:lombok:1.16.20' <-- this no longer works!
// other dependencies...
}
答案 1 :(得分:21)
如果您的项目包含测试,那么您将需要以下配置来完全摆脱gradle警告:
dependencies {
compileOnly "org.projectlombok:lombok:1.18.2"
testCompileOnly "org.projectlombok:lombok:1.18.2"
annotationProcessor "org.projectlombok:lombok:1.18.2"
testAnnotationProcessor "org.projectlombok:lombok:1.18.2"
}
调整lombok版本以适合。
答案 2 :(得分:6)
Gradle added annotationProcessor in 4.6和Lombok是一个注释处理器,尽管他们的文档在使用Gradle时并不清楚,他们也知道,因为在使用Android Studio时会推荐它。 如此简短的答案是使用:
dependencies {
compileOnly('org.projectlombok:lombok:1.18.0')
annotationProcessor('org.projectlombok:lombok:1.18.0')
}