我有一个项目,其布局如下:
abc/
abc-core/
abc-core-actions/
abc-core-actions-a/
src/
abc-core-actions-b/
src/
abc-core-package/
src/
abc-framework/
abc-framework-core/
lib/
abc-framework-dependencies/
lib/
abc-utility/
src/
在项目的lib
文件夹中abc-framework
有一堆 jar,它们代表核心框架和框架运行所需的依赖项。
我想要完成的是罐子下的任何事情,abc-core
并abc-utility
让他们可以使用这些lib
罐子。
我发现做这样的事情:
project(':abc-core:abc-core-actions') {
dependencies {
compile fileTree(dir: '../../abc-framework/abc-framework-core/lib', includes: ['*.jar'])
compile fileTree(dir: '../../abc-framework/abc-framework-dependencies/lib', includes: ['*.jar'])
}
}
确实有效,但这意味着对于每个部分(abc-core:abc-core-actions-a、abc-utility 等)我必须包括一个像上面这样的部分,它也是相对的。
理想情况下,我想定义所有子项目对这些文件夹都有 fileTree 依赖关系,但问题是路径会根据子项目而变化。
那么compile fileTree
引用abc
项目的绝对路径的最佳方法是什么?