1

我想向 Gradle 项目添加一个在处理过程中对注释处理器可见的依赖项。

但与此同时,我不希望从源代码中访问此依赖项。

如何才能做到这一点?

4

1 回答 1

2

如果您使用的是最新版本的 Gradle,则注释处理器依赖项将在单独的配置中声明,该配置annotationProcessor仅用于该目的。

4.6 之前的版本过去常常从编译类路径中找到它们,如果您必须使用旧版本,我认为您无能为力。

4.6+ 的示例:

dependencies {
    annotationProcessor 'com.google.dagger:dagger-compiler:2.8'
}

如果您的注释处理器需要任何其他依赖项来编译您的源代码,您别无选择,只能将它们添加到编译类路径中,这将使它们在 IDE 中可见。但是您可以使用compileOnly配置来限制范围,以便它们在运行时不可见或被选为传递依赖项。例子:

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.10'
    annotationProcessor 'org.projectlombok:lombok:1.18.10'
}
于 2020-01-24T09:26:54.117 回答