Подтвердить что ты не робот

Каков правильный Gradle плагин для поддержки "предоставленного" метода?

В настоящее время я пытаюсь включить помощника Project Lombok в проект Gradle, но, следуя свои инструкции для Gradle в пределах my build.gradle, я получаю следующую ошибку:

Ошибка: (11, 0) Ошибка сборки script, неподдерживаемый Gradle найден метод DSL: 'provided()'!

Возможными причинами могут быть:

  • вы используете версию Gradle, где метод отсутствует
  • вы не применили плагин Gradle, который предоставляет метод
  • или есть ошибка в сборке script

Мой текущий файл build.gradle:

apply plugin: 'java'

sourceCompatibility = 1.5
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    provided "org.projectlombok:lombok:1.14.4"
    testCompile group: 'junit', name: 'junit', version: '4.11'
}
4b9b3361

Ответ 1

Начиная с версии 2.12 область provided называется compileOnly


Старый ответ:

Предоставляемая область доступна в плагине 'war' (http://www.gradle.org/docs/current/userguide/war_plugin.html, предоставленнойCompile) Если вы не хотите использовать плагин 'war', есть также открытая проблема JIRA в отношении "предоставленного" объема http://issues.gradle.org/browse/GRADLE-784, рекомендуется обходное решение для создания вашей собственной конфигурации:

configurations {
   provided
}

и установите его для использования с вашим классом классов компиляции:

sourceSets {
    main {
        compileClasspath += configurations.provided 
    }
}

Ответ 2

Проверьте свой уровень приложения gradle. Если какая-либо строка выглядит так:

compile dependency.gson provided dependency.javaxAnnotation

Отредактируйте его следующим образом:

compile dependency.gson 
provided dependency.javaxAnnotation

Он должен работать.