Gradle 如何强制特定子项目具有渐变依赖关系?
这就是它正在做的:Gradle 如何强制特定子项目具有渐变依赖关系?,gradle,dependencies,Gradle,Dependencies,这就是它正在做的: org.apache.santuario:xmlsec:1.5.7 -> 2.0.2 就为了这个子项目,我想强制执行1.5.7。顺便说一句,这东西埋得很深。必须有一种比剥洋葱更好的方法来获得排除的一个依赖项。我的意思是,如果我有一个依赖项X,为什么我不能通过编程将它级联到树上进行排除呢?我是格拉德,对吗 这几乎奏效了: configurations { compile.resolutionStrategy { force 'org.apac
org.apache.santuario:xmlsec:1.5.7 -> 2.0.2
就为了这个子项目,我想强制执行1.5.7。顺便说一句,这东西埋得很深。必须有一种比剥洋葱更好的方法来获得排除的一个依赖项。我的意思是,如果我有一个依赖项X,为什么我不能通过编程将它级联到树上进行排除呢?我是格拉德,对吗
这几乎奏效了:
configurations {
compile.resolutionStrategy {
force 'org.apache.santuario:xmlsec:1.5.7'
}
...
}
上述内容在树中正确显示,但2.0.2仍会在战争中结束
无论如何,这是有效的,不需要手动挖出来,我会采取 > >使用< <代码>强制> >代码> >您可以考虑使用<代码>替代< /代码> .<
dependencies {
compile 'org.apache.santuario:xmlsec:2.0.1'
}
configurations.all {
resolutionStrategy {
// add dependency substitution rules
dependencySubstitution {
substitute module('org.apache.santuario:xmlsec') with module('org.apache.santuario:xmlsec:1.5.7')
}
}
}
然后我得到一个输出:
$ ./gradlew -q dependencies --configuration compile
------------------------------------------------------------
Root project
------------------------------------------------------------
compile - Dependencies for source set 'main'.
\--- org.apache.santuario:xmlsec:2.0.1 -> 1.5.7
\--- commons-logging:commons-logging:1.1.1
我会试试看,但如果一个不起作用,另一个似乎不会。。。但谁知道呢?