我想向 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'
}