java 如何在使用gradle版本目录时指定分类器?

vaj7vani  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(142)

当使用Gradle版本目录声明依赖项时,我必须将依赖项分类器放在哪里?例如io.netty:netty-transport-native-epoll:4.1.74.Final:linux-x86_64使用vanilla实现函数:

implementation("io.netty:netty-transport-native-epoll:4.1.74.Final:linux-x86_64")

它可以工作,但是如何使用catalog来做同样的事情:

netty-epoll-linux = { group = "io.netty", name = "netty-transport-native-epoll", version = "4.1.74.Final", ????? classifier="linux-x86_64" - doesn't work }
afdcj2ne

afdcj2ne1#

版本目录中没有任何东西可以指定分类器。你必须把分类器放在依赖声明中:

implementation(variantOf(libs.netty-epoll-linux) { classifier("linux-x86_64") })

有关版本目录的常见问题解答解释了此设计选择:
通过设计,版本目录只讨论依赖关系坐标。应用排除的选择在消费者端:例如,对于一个特定的项目,你可能需要排除一个传递依赖,因为你没有使用执行这个依赖的代码路径,但这可能不是所有地方的情况。类似地,分类器福尔斯变量选择器的类别:对于相同的依赖坐标,可能需要分类器X,另一个分类器Y,并且不一定允许在同一个图中具有这两个。因此,分类器需要在依赖声明站点上声明。

相关问题