等级依赖关系仅对注释处理器可见

问题描述 投票:0回答:1

我想在Gradle项目中添加一个依赖项,该依赖项在处理期间对注释处理器可见。

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

如何完成?

gradle dependency-management
1个回答
0
投票

如果使用的是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'
}
© www.soinside.com 2019 - 2024. All rights reserved.