我正在尝试设置一个带有创意支持的多模块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的想法失败了:
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.module.generatedSourceDirs += file('srm/main/java.generated')
如果放在module_a / build.gradle中它会影响module_a吗?
谢谢
最佳答案 您不能在每个子项目上设置“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