В виде Gradle сценария сборки, когда мы объявляем задачу следующим образом:определение задач/определение в Gradle
task lol
lol << {
prinln "lol's action!"
}
и выполнить его как gradle -q lol
он работает отлично. Мой вопрос в том, почему lol
экземпляр задачи уже создан и NullPointerException
не вызван? Разве декларация task lol
объявляет и определяет задачу одновременно?
Это неясно. Что, возможно, бросит здесь NPE? –
@OliverCharlesworth В Java JLS 4.12.5: _ Для всех ссылочных типов (§4.3) значение по умолчанию равно null. Это объявление не содержит инициализатора, так как я предполагаю, что он был инициализирован по умолчанию с помощью «null». –
Хорошо, но Gradle - это не Java. Это DSL, построенный на вершине Groovy. JLS не поможет вам его интерпретировать. –