具有传递性错误的Gradle依赖性继续检索依赖性

时间:2017-02-28 11:41:55

标签: java gradle

我有一个带有依赖声明的构建

compile ("org:module:+"){
    changing=true
    transitive=false
}

但即使传递是错误的,我仍然在我的构建中找到了一些依赖包。在打开调试选项的构建输出中,我找到此消息

[org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Visiting dependency org:module:1.21(compile) -> commons-beanutils:commons-beanutils:1.8.0(compile,runtime)
12:19:32.773 [DEBUG] [io.spring.gradle.dependencymanagement.DependencyManagementPlugin] Processing dependency 'commons-beanutils:commons-beanutils:1.8.0'
12:19:32.774 [DEBUG] [io.spring.gradle.dependencymanagement.DependencyManagementPlugin] No dependency management for dependency 'commons-beanutils:commons-beanutils:1.8.0'
12:19:32.774 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Selecting new module version commons-beanutils:commons-beanutils:1.8.0

以及其他模块依赖项的更多信息。我必须做什么来强制明确地不检索这个包?

1 个答案:

答案 0 :(得分:1)

正如您已经发现的那样,它是另一个具有相同传递依赖性的依赖项。然而,这不应该很难找到。您可以运行Gradle内置任务dependencies以获取所有依赖项的树视图。

为了完整起见,您可以通过以下方式排除所有不需要的依赖项:

configurations {
    all*.exclude group: 'com.example', module: 'dep'
}