我有以下结构
root
|- foo
| |- implementation
| | \- build.gradle
| \- interface
| \- build.gradle
|
|- bar
| |- implementation
| | \- build.gradle
| \- interface
| \- build.gradle
|
|- build.gradle
\- settings.gradle
Run Code Online (Sandbox Code Playgroud)
在settings.gradle中,我有以下内容:
include ':foo:implementation', ':foo:interface'
include ':bar:implementation', ':bar:interface'
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle根文件夹中,我将所有这些作为依赖项
dependencies {
compile project(':foo:implementation')
compile project(':foo:interface')
compile project(':bar:implementation')
compile project(':bar:interface')
}
Run Code Online (Sandbox Code Playgroud)
Eclipse需要每个项目都有不同的名称.默认情况下,Gradle使用项目名称在eclipse中命名.因此,eclipse无法区分':foo:implementation'和':bar:implementation:',因为它们都将在Eclipse中命名为'implementation'.在我看来,这应该可以通过将eclipse项目名称设置为更具体的东西来解决,例如:
allprojects {
eclipse.project {
if (project == rootProject) {
name = rootProject.name
} else {
name = rootProject.name + project.path.replace(":", "-")
}
}
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我得到了独特的项目名称,但是当我查看.classpath xml时,只有一个实现项目和一个接口项目存在.
任何的想法?
到目前为止,我只处理过“单目录级别”多项目;对于这种情况,有几种方法可以解决它:
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |