我正在尝试设置一个支持创意的多模块gradle项目。它一直有效,直到我在混合中添加项目范围的gradle.properties。这是一个例子:
gradle.properties:
javaVersion = 1.8
gradle.settings:
include 'module_a'
的build.gradle:
allprojects {
apply plugin: 'idea'
idea {
project {
jdkName = javaVersion
}
}
}
module_a是一个空的子文件夹。
gradle idea
失败了:
Build file 'project/build.gradle' line: 7
* What went wrong:
A problem occurred evaluating root project 'project'.
> Cannot set property 'jdkName' on null object
可能是什么原因?
问题2:子项目是否可以修改全局idea
任务,例如
idea.module.generatedSourceDirs += file('srm/main/java.generated')
如果放在module_a
?
module_a/build.gradle
由于
答案 0 :(得分:2)
您不能在每个子项目上设置“jdkName”,它只应在根项目上设置如下:
idea {
project {
jdkName = "1.8"
languageLevel = "1.8"
}
module {
name = "My root project name"
}
}
在子项目中,您可以配置其他内容,例如
idea.module.testSourceDirs = idea.module.testSourceDirs+idea.module.sourceDirs
idea.module.sourceDirs = [] as Set