我不知道为什么ext {}的顺序很重要并导致诸如以下的失败?没有可复制的示例,你们如何确定放东西的顺序?文档似乎只是在孤立地讨论闭包,而不是它们之间的相互依赖性?
project-base
settings.gradle
build.gradle (inside this one in examples below)
subproject_folder
build.gradle
ext {} // this blows up here
buildscript {}
plugins {}
sonarqube {}
allprojects {}
subprojects {}
但是如果我有相同的事情,除了
buildscript {}
plugins {}
sonarqube {}
allprojects {}
subprojects {}
ext {} // bingo all of a sudden this is legal ?
答案 0 :(得分:3)
问题不是ext {}
块的位置,而是buildscript {}
和plugins {}
块的位置。
如documentation所示,plugins {}
块必须是构建文件中的第一个。
而且,由于buildscript {}
块还与确定构建文件中可访问的内容有关,因此它的类路径有效,它具有类似的局限性。