Java 带有可传递false的Gradle依赖项继续检索依赖项

Java 带有可传递false的Gradle依赖项继续检索依赖项,java,gradle,Java,Gradle,我有一个以这种方式声明依赖关系的构建 compile ("org:module:+"){ changing=true transitive=false } 但是,即使transitive为false,我仍然在构建中发现了一些依赖项包。在启用调试选项的生成输出中,我发现以下消息 [org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder] Visiting dep

我有一个以这种方式声明依赖关系的构建

compile ("org:module:+"){
    changing=true
    transitive=false
}
但是,即使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

以及更多关于其他模块依赖关系的信息。要强制显式地不检索此包,我必须做什么?

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

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

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

你的gradle版本是什么?在构建脚本中,可能会覆盖transitive标志?不,我找到了解决方案,很难找到,它是另一个包中具有transitive true的包,因此,即使我认为我的项目正在检索包,但包是由其他包依赖项在项目中获取的。