在RootProject中,我有build.gralde和settings.gradle。 common,subProj1和subProj2是settings.gradle中的子项目
intermediateDir 不是子项目!它仅用于对subProj1,subProj2进行分组,因为它们是相关的。
每次我在根目录中运行“gradle eclipse”时,我都会在intermediateDir中获得.classpath和.project文件,我不应该这样做,因为这不是子项目!所以基本上middleDir被认为是某些任务的子项目,即使不在settings.gradle中也是如此。有什么快速的解决方法吗?
答案 0 :(得分:5)
您编写settings.gradle
的方式,中间目录是子项目。这通常是可取的,因为它允许您一次性轻松配置和执行其子项目,即使中间项目没有自己的任何文件或任务。
要消除中间项目的不需要的行为,请确保不要将该行为(例如apply plugin: "eclipse"
)应用于该项目(可能您现在正在将其应用于allprojects
),或者将settings.gradle
更改为不创建中间项目。例如:
include "common"
// name it any way you like, but not
// "intermediateDir:subProj1", i.e. no ":"
include "subProj1"
include "subProj2"
project(":subProj1").projectDir = file("intermediateDir/subProj1")
project(":subProj2").projectDir = file("intermediateDir/subProj2")