1

我的 gradle 文件中有以下条目

dependencies {
    compile 'org.A:A:1.0'
}

下载 'org.B:B:1.0'因为那是它的依赖项。(在 gradle 中没有明确提到)

我想在我的项目中使用的是 A* 和 B* ,它们分别是 A 和 B 的阴影(更改的命名空间)。

现在,我已将 A* 的依赖项指定为

dependencies{
    compile file('libs/A*.jar')
}

但是,这个仍然下载'org.B:B:1.0'

如何连接 gradle 以使用file('libs/B*.jar')

4

2 回答 2

0

如评论中所述,文件依赖项不能具有传递依赖项。因此A*.jar,要么B.jar以某种方式将内容卷入其中,要么您B.jar在其他地方的构建路径上。

文件依赖一般是不得已的工具,它们不参与冲突解决;你需要一个类似的依赖mavenivy

于 2015-09-16T16:44:47.287 回答
0

想到的第一个解决方案是排除传递依赖compile 'org.A:A:1.0'

这像这样工作:

dependencies {
    compile('org.A:A:1.0') {
        exclude 'org.B:B:1.0'
    }
}

有关该主题的更多详细信息,请查看Gradle 用户指南

于 2015-09-16T09:46:42.660 回答