gradle 依赖于另一个项目的项目是否获得库?

Does gradle project with dependency to another project get libraries?

我有两个项目:

项目 A 使用项目 B

项目A:

-- Settings.graddle:

include ':projectB'

-- build.gradle:

dependencies {
  compile project(':projectB')
}

项目 B:

-- build.gradle:

dependencies {
  compile group: 'org.modelmapper.extensions', name: 'modelmapper-jackson', version: '1.1.1'
}

这会将 modelmapper-jackson 库导入到 ProjectB 中。 (预期行为)

将 modelmapper-jackson 库导入 ProjectA.

这可能是我想要的行为,但是:

我想了解如何定义导入和不导入的内容,因为将来我可能会有更多项目,并且不希望所有项目都拥有所有库

gradle有什么我漏掉的吗?

您可以使用 gradle dependencies 检查您的依赖关系图。

有多种方法可以停止传递依赖。

在项目B中设置依赖为compileOnly*

compileOnly group: 'org.modelmapper.extensions', name: 'modelmapper-jackson', version: '1.1.1'

在项目 A 中排除

dependencies {
  compile project(':projectB') {
    exclude module 'modelmapper-jackson'
}