Каков правильный 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'
}
Ответы
Ответ 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
Он должен работать.