gradle - 如何覆盖一个依赖项的配置级别“transitive = false”
问题描述
我继承了一些代码,想在项目中添加黄瓜,最好尽可能少改变。但是 gradle 文件有一个配置级别设置来阻止传递依赖项被拉入,这导致 cucumber-java 不拉入 cucumber-core 并因此失败。
所以这里是 build.gradle 的相关部分:
configurations.all {
transitive = false
}
depdendencies {
compile(group: .... lots of these
testCompile(group: 'io.cucumber', name: 'cucumber-java8', version: '4.8.0', transitive: true)
testCompile(group: 'io.cucumber', name: 'cucumber-testng', version: '4.8.0', transitive: true)
}
我希望transitive: true
然后会覆盖配置级别,但它不起作用。
我也尝试过添加:
configurations {
all*.exclude group: 'io.cucumber', module: 'cucumber-java8'
}
但它根本不会引入这种依赖关系
我不想手动拉入 cucumber 的所有依赖项,也不想删除这个配置级别transitive = false
。有可能做我正在尝试的事情吗?我可以为compile
依赖项设置配置吗?还是我必须删除配置级别设置并添加transitive: false
到每个编译依赖项?
谢谢你的帮助
解决方案
我想你正在寻找这样的东西:
configurations {
compile {
transitive false
}
testCompile {
transitive true
}
}
推荐阅读
- c - 结构类型数组的动态分配
- javascript - 通过 javascript 在博客文章标题中赋值
- c# - 使用会话禁用下拉列表中的项目,直到单击按钮
- web-services - Camel cxf webservice - 获取响应的问题
- javascript - slickgrid 的简单排序示例
- laravel - 使用 laravel 最佳方法排队批量翻译
- python - GPU 上的 XGBoost 正在杀死内核(在 Ubuntu 上)
- android - 如何通过捕获图像来读取或获取数据?
- javascript - Javascript注入将项目添加到购物篮
- java - 如何对对象列表进行排序?