Конфликт задач и плагинов в Gradle (Не удалось применить плагин [class 'org.gradle.langu...)
Я пытался запустить задачу из build.gradle
используя следующую команду:
gradle footype
Однако сборка не удалась, и отобразились эти два сообщения об ошибках, которые я хочу исправить:
> Configure project :
The Task.leftShift(Closure) method has been deprecated and is scheduled to
be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
И это сообщение также:
* What went wrong:
An exception occurred applying plugin request [id: 'java']
> Failed to apply plugin [class
'org.gradle.language.base.plugins.LifecycleBasePlugin']
> Declaring custom 'assemble' task when using the standard Gradle
lifecycle plugins is not allowed.
Вот код build.gradle
файл:
plugins{
id "com.gradle.build-scan" version "1.10.2"
id "org.arquillian.spacelift" version "1.0.0-alpha-17"
id "java"
}
group 'k'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
task fooType {
doLast {
def foo = "bar"
println "$foo + foo = ${foo + "foo"}"
}
}
Я искал другие посты, и все они, кажется, упоминают задачу под названием clean(), которая не появляется в моем коде, поэтому я хотел бы знать, в чем проблема.
Большое спасибо за чтение этого поста.
1 ответ
Когда дело доходит до этого сообщения:
Настройка проекта: метод Task.leftShift(Closure) устарел и планируется удалить в Gradle 5.0. Пожалуйста, используйте Task.doLast(Action) вместо этого.
это просто предупреждение. В нем говорится, что один (возможно, более) плагин, который вы использовали, использует <<
который будет удален в версии 5.0 Gradle в пользу doLast
, Вы не используете <<
прямо в вашем сценарии, и это нормально. Чтобы устранить это предупреждение, прежде всего вам нужно знать, какой плагин его использует, а затем поднять проблему на сайте плагина с просьбой об исключении устаревшего кода.
Когда дело доходит до второго сообщения, это ошибка, и в одном скрипте ничего не поделаешь. Два плагина java
а также org.arquillian.spacelift
объявили задачу с тем же именем (это assemble
) - это конфликт. Может быть, вы можете разделить свой проект на мультимодуль?