从gradle中的jar文件中排除模块依赖项

从gradle中的jar文件中排除模块依赖项,gradle,build.gradle,gradlew,Gradle,Build.gradle,Gradlew,因此,我在gradle-“compile files(${PathToJar}/name.jar”) 现在,我想从上面的jar中排除一些模块,就像我们对普通依赖项排除所做的那样 compile('com.a.b:' + version) { exclude group: 'com.google.inject', module: 'guice_servlet' exclude group: 'com.google.inject', module: 'guice'

因此,我在gradle-
“compile files(${PathToJar}/name.jar”)
现在,我想从上面的jar中排除一些模块,就像我们对普通依赖项排除所做的那样

compile('com.a.b:' + version) {
        exclude group: 'com.google.inject', module: 'guice_servlet'
        exclude group: 'com.google.inject', module: 'guice'
        exclude group: 'io.dropwizard'
        exclude group: 'org.slf4j'
        exclude group: 'log4j'
    }

我在谷歌上搜索了很多,但找不到合适的命令。

你试图实现的目标在Gradle中是不可能直接实现的

用于排除可传递依赖项。这意味着,如果依赖项依赖于另一个依赖项(JAR),Gradle将有效地创建依赖项树。通过使用
exclude()
方法,可以从树中删除依赖项


但是,如果您有一个UberJar,依赖项(类)会捆绑在JAR本身中。因此您不能使用
exclude()
从JAR本身排除类
,它只能用于从树中排除JAR。

我不明白。您想排除“模块”吗“从本地的罐子里。Gradle怎么知道包含本地JAR的可传递依赖项呢?我从另一个项目中创建了一个uber JAR,并作为库包含在当前项目中。现在从uber jar中,我想排除一些模块。据我所知,uber jar包含所有可传递的依赖项,不是吗?