Gradle Sub Transitive Dependency Exclusion

时间:2015-08-20 19:04:33

标签: gradle build.gradle dependency-management transitive-dependency

我有三个Gradle模块:ModA和ModB以及ModC

ModA依赖于ModB和Spring Web MVC 3.2.6

ModB依赖于ModC

ModC依赖于Spring Web MVC 4.1.5

我遇到了很多错误,因为ModA正在使用Spring 4.1.5而不是3.2.6。由于版本差异和时间,我现在无法将ModA更新到Spring 4.1.5。我想要做的是从ModA Gradle文件中的ModB依赖项中排除Spring 4.1.5,以便只引入和使用3.2.6;但是,我尝试过的一切都没有排除依赖。

DOESNT WORK: ModA build.gradle:

compile('com.stuff:ModB:+') {
        exclude group: 'org.springframework'
    }

compile('com.stuff:ModB:+') {
        exclude group: 'org.springframework', module: 'spring-webmvc'
    }

那么,如何从依赖项的依赖项中排除模块?如果这是我应该怎么做,为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

你可以将transitive false作为默认值,并将你感兴趣的模块添加到依赖项中。正如我所知,您正在使用正确的方法排除一个依赖项,请尝试添加您不感兴趣的特定修订版。