在我的项目中,我对'org.nd4j:nd4j-native-platform:0.6.0'有依赖性,这给我带来了传递性依赖性:
我想排除nd4j-native:linux-ppc64le和nd4j-native:macosx-x86_64,因为我的应用程序不支持这些平台。我在Gradle文件中编写:
configurations {
all.collect { configuration ->
configuration.exclude(group: 'org.nd4j', module: 'nd4j-native', classifier: 'linux-ppc64le')
}
}
Gradle 说:
似乎gradle不支持分类器排除。
如何排除这种传递依赖?
更新:Gradle允许我们排除依赖项,但是如果我们有多个具有相同ID和组但分类器不同的依赖项,该怎么办?
最佳答案
我认为,唯一的方法是按模块或组排除所有传递依赖关系,并为应用程序支持的平台手动提供对库的依赖关系。因为依赖项声明中支持分类器。
当您具有多个具有相同模块和组但具有不同分类器的依赖项时,可以使用相同的方式来处理该情况。只需使用其classifier属性手动添加此类依赖项。