Gradle 渐变依赖项仅对注释处理器可见

Gradle 渐变依赖项仅对注释处理器可见,gradle,dependency-management,Gradle,Dependency Management,我想向Gradle项目添加一个在处理过程中对注释处理器可见的依赖项 但同时,我不希望从源代码中访问此依赖关系 如何做到这一点?如果您使用的是最新版本的Gradle,则注释处理器依赖项将在单独的配置annotationProcessor中声明,该配置仅用于此目的 4.6之前的版本用于从编译类路径中查找它们,如果您必须使用旧版本,我认为您没有什么可以做的 4.6+的示例: dependencies { annotationProcessor 'com.google.dagger:dagger

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

但同时,我不希望从源代码中访问此依赖关系


如何做到这一点?

如果您使用的是最新版本的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'
}

关于
compileOnly
scope的最后一个建议,如果我将相同的scope-
annotationProcessor
用于注释处理器的依赖项,会怎么样?行吗?