我的build.gradle中有以下一个子子模块:
apply plugin: 'war'
apply plugin: 'idea'
dependencies {
compile project(':x')
compile project(':y')
compile project(':z')
}
idea {
module.iml.withXml {
// do some stuff
}
project.ipr.withXml {
// do some more stuff
}
}
但是当我运行gradle build
时,我收到以下错误:
A problem occurred evaluating project ':a:b'
...
Caused by: java.lang.NullPointerException: Cannot get property 'ipr' on null object
...
在我打电话project.ipr
的行。奇怪的是,如果我删除apply plugin: 'idea'
行,则错误消失,当我运行gradle idea
时,上面的闭包中指定的任务将被执行(我认为因为该插件应用于父项目)。
为什么会发生这种错误?我该如何解决?
答案 0 :(得分:3)
Rookie错误:project
属性仅在模块是根模块时才可用。说得通。我能够使用:
rootProject.idea.project.ipr.withXml { /* modify ipr */ }