我有一个多模块gradle
项目,在该模块中,我在运行时在compile
配置中添加了依赖项。
那些依赖项获取具有不存在的版本前缀的传递性依赖项。
情况就是这样
compile 'group:moduleA:version.+'
此moduleA
下载具有相同moduleB
前缀表示法的version.+
,并下载另一个具有相同前缀表示法的moduleC
,moduleC
存在于版本10及更高版本和8及更低版本的工件中,因此没有版本号为9的版本,并且gradle坚持使用版本9查找moduleC
,但不会获取高于或低于其的版本。
如果要查找的版本不存在,如何使gradle获取另一个版本?
[请提供任何澄清,并感谢您的帮助。
使用9.+
之类的版本时,Gradle会查找与该前缀before +
的部分匹配的所有版本。
但是,如果不存在这样的版本,则无法使Gradle忽略该部分。
如果moduleC
的版本可以是任何东西,那么您可以简单地使用+
而没有任何前缀。
请注意,即使发布了新版本的moduleC
,即使未进行任何更改,这样做也可能会使您在构建中受损。
您还可以将此动态版本分辨率与dependency locking结合使用,以更好地控制何时升级moduleC
。