我有两个项目,client
和shared
。两者都是Buildship项目,都定义了外部依赖项并正在运行。这是我的多项目设置:
workspace/
shared/
build.gradle
client/
build.gradle
settings.gradle
workspace/settings.gradle
:
rootProject.name = 'workspace'
include 'client'
include 'shared'
现在我想对项目间的依赖关系进行排序。client
依赖于来自shared
的已编译工件。因此,根据25.4.3。项目依赖性我想我在client
的build.gradle
中添加了以下内容:
compile project(':shared')
但是我不能在Eclipse中编译。如果我刷新client
项目,我会得到:
评估根项目"客户端"时出现问题。带有路径的项目在根项目"client"中找不到":shared"。
它好像没有将其识别为多项目构建。。。
我意识到gradle init
在两个子项目中生成了一个settings.gradle
文件。所以我删除了这些文件,但在刷新任何一个子项目时,我都会遇到不同的错误(项目变得完全不可用):
假设eclipse项目不是根项目
如何让这两个项目协同工作,并希望只定义一次?
感谢这里的帮助,以下应该可以修复它:
- 从Eclipse中删除
client
和shared
项目,使文件系统中的文件保持不变 - 将包含
client
和shared
的根文件夹移到另一个文件夹中,因此根文件夹是而不是,也是Eclipse工作区根 - 在Eclipse中为根文件夹执行Gradle导入
这为我修复了它——然后解决了项目间的依赖关系。