【发布时间】:2016-06-01 13:05:09
【问题描述】:
这就是我的解释。我有一个包含 2 个模块的多项目构建:编解码器和内容。当我尝试构建项目时,它说它找不到存储库。但是在构建单个模块时,没有错误。此外,evaluationDependsOn(':codec') 似乎没有帮助。
Could not resolve all dependencies for configuration ':compileClasspath'.
> Cannot resolve external dependency commons-codec:commons-codec:1.5 because no repositories are defined.
Required by:
:multiproject-unified:unspecified > multiproject-unified:codec:unspecified
父 build.gradle:
apply plugin: 'java'
dependencies {
compile project(':codec')
compile project(':content')
}
settings.gradle
include 'codec',
'content'
:codec build.gradle
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'commons-codec:commons-codec:1.5'
}
:content build.gradle
apply plugin: 'java'
repositories {
mavenCentral()
}
【问题讨论】:
-
我也遇到过同样的问题,从来没有真正找到答案。我通常将依赖项手动添加到父级。
-
为什么要使用这样的配置?将 repo 添加到 parent 是一种常见的做法,只是出于好奇:)
-
@MarkBramnik 嗯,真的,有道理。 :D 但是,我觉得这有点令人困惑。
-
@MarkBramnik 我们使用模块来隐藏供应商特定的代码。子模块具有特定于供应商的 maven 存储库,现在我需要添加子模块和父模块的 maven 存储库,这有点难看,因为父模块本身不包含任何供应商代码:-S
-
@bah 你有没有找到任何解决方案?在我的情况下,子子项目在其中一个存储库上具有授权,我不想将这些详细信息拉出给父级。