对于为嵌套项目设置构建脚本我有些困惑
我在这里https://github.com/814k31/TestGradle
编写了一个简单的测试仓库本质上,我正在为模块编写包装器,并且需要将该包装器包含在较大的项目中,但是当在较大的项目中使用模块时,将模块导入包装器会遇到困难
依赖链
app imports OneDeep
OneDeep imports TwoDeep
目录结构:
app
oneDeep
twoDeep
build.gradle
build.gradle
build.gradle
settings.gradle
测试仓库中的master分支写了我应该如何工作
还有另一个分支,我在其中调整了settings.gradle以使其正常工作,尽管感觉我不应该这样做...
关于如何获取oneDeep(包装器)以导入twoDeep(模块)的任何建议?
谢谢。
答案 0 :(得分:1)
您没有描述所得到的错误,但是如果我们从您的仓库中的master分支执行示例,则会得到以下错误:
> Project with path ':twoDeep' could not be found in project ':oneDeep'.
此问题来自您从项目“ oneDeep”脚本引用项目“ twoDeep”的方式:
dependencies {
compile project(':twoDeep') // <== this won't work: there is no project with absolute path ":twoDeep"
// compile project('twoDeep') // <== use relative path to reference sub-project 'twoDeep' from project 'oneDeep'
// compile project(':oneDeep:twoDeep') // <= using absolute path will work as well
}
因此,当引用项目'oneDeep'中的子项目'twoDeep'时,必须使用相对路径(=>'twoDeep')或绝对路径(=>':oneDeep:twoDeep')。
项目项目(字符串路径): 通过路径找到一个项目。如果路径是相对的,则将相对于该项目进行解释。
另请参见Project and task paths(但其中“相对”路径的预期语法没有明确说明)