Неразрешенная ссылка war.getWebAppDir () - PullRequest
0 голосов
/ 17 ноября 2018

В моем проекте я применяю плагин WAR и получаю вызов war.getWebAppDir () .В Gradle 4.10.2, в котором есть kotlin DSL 1.0-rc-6, этот вызов работает нормально.Но в Gradle 5.0-rc-3 с Kotlin DSL 1.0.3 этот вызов завершается неудачно с сообщением «Неразрешенная ссылка»: getWebAppDir

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Я задал этот вопрос на сайте github Gradle-Kotlin-dsl .На это ответил Пол Мерлин .

В Gradle 5 введены средства доступа к задачам.Таким образом, теперь война в блоке tasks {} преобразуется в файл tasks.war, который является военным заданием , вместо разрешения в project.war, которым является WarPluginConvention с этим webAppDir собственность.Это может быть обнаружено либо переходом к источнику webAppDir из вашей IDE, либо печатью войны, чтобы узнать, что это такое.Вы должны в своих задачах {} заблокировать обновление ваших старых вызовов 4.10.2 war.getWebAppDir() до 5.0 way project.war.getWebAppDir().

0 голосов
/ 17 ноября 2018

Я использую Gradle 4.10.2, и вызов war.getWebAppDir () не работает в моем случае.Сбой сборки говорит, что свойство не найдено.Не уверен, почему это работает в вашем случае.

Вызов:

logger.info " web app dir is : ${war.getWebAppDir()}"

Ошибка:

Could not find method getWebAppDir() for arguments [] on task ':war' of type org.gradle.api.tasks.bundling.War

ПослеБыстрый поиск, который я обнаружил, getWebAppDir - это свойство, предоставляемое WarPluginConvention , а не сам плагин WAR.Так что просто вызвал getWebAppDir () и все, кажется, работает в моем случае.

Вызов:

logger.info " web app dir is : ${getWebAppDir()}"

Выход:

web app dir is : D:\Practice\Gradle\GradleInAction\todo-webapp-customized\webfiles

Я не уверен, связано ли это вообще с Kotlin DSL, поскольку в журналах ошибок четко указано, что он не может найти это свойство в WAR-задаче.

Поэтому я пытаюсь вызвать егочерез военную задачу выдаст ошибку.

Не могли бы вы попробовать включить журналы и трассировку стека и поделиться ими.Я просто учусь на gradle, а не на эксперте или даже на промежуточном уровне.Просто пытаюсь учиться, помогая другим учиться.

РЕДАКТИРОВАТЬ 1 НАЧАЛО

Пробовал с Gradle 5.0-rc-3.Подобное поведение демонстрируется в моем случае.Тот же вывод, что и выше.

РЕДАКТИРОВАТЬ 1 КОНЕЦ

...