Как установить плагин для ввода-вывода.freefair.lombok

#gradle #lombok #gradle-plugin

#gradle #ломбок #gradle-плагин

Вопрос:

Я пытаюсь использовать ввод-вывод.плагин freefair.lombok, но я получаю ошибку с Gradle 4.10.2. Как мне его установить?

 plugins {
    id 'org.springframework.boot' version '2.2.5.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id "io.freefair.lombok" version "4.0.0" // error on this line
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
    mavenLocal()
}

dependencyManagement {
    imports {
        mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR3'
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
    implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    runtimeClasspath 'org.springframework.boot:spring-boot-devtools'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
  

Вот ошибка:

 Could not run build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.10.2-bin.zip'.
Build file 'C:Usersusereclipse-workspacecar-projbuild.gradle' line: 4
An exception occurred applying plugin request [id: 'io.freefair.lombok', version: '5.0.0-rc4']
Failed to apply plugin [class 'io.freefair.gradle.plugins.lombok.LombokBasePlugin']
Could not generate a proxy class for class io.freefair.gradle.plugins.lombok.LombokExtension.
org/gradle/api/provider/MapProperty
org.gradle.api.provider.MapProperty
  

добавление большего количества текста, чтобы публикация не была в основном кодом

Комментарии:

1. В сообщении об ошибке указано, что 5.0.0-rc4 применяется версия, но build.gradle вы опубликовали список версий 4.0.0 ?

Ответ №1:

Версия плагина Lombok, которую вы применили, может быть несовместима с вашей версией Gradle. На веб-сайте проекта указано, что последней версией, совместимой с Gradle, 4.10.2 является, в частности, 2.x ветка 2.9.5 . Так что либо вы используете это, либо обновляетесь до более поздней версии Gradle.

Матрица совместимости

Версия плагина Версия Gradle Версия Java
6.5.x 7.5 8 — 18
6.4.x 7.4 8 — 17
6.3.x 7.3 8 — 17
6.2.x 7.2 8 — 16
6.1.x 7.1 8 — 16
6.x 7.0 8 — 16
5.3.x 6.7 8 — 15
5.1.x 6.4 8 — 14
5.0.x 6.3 8 — 13
4.x 5.6 8 — 12
3.8.x 5.5.x 8 — 12
3.3.x — 3.7.x 5.4 8 — 12
3.2.x 5.3 8 — 11
3.x 5.1 8 — 11
2.x 4.x 8 — 11

Вы также можете захотеть обновить Gradle, чтобы оставаться совместимым с плагином Spring Boot Gradle.

Для плагина Gradle Spring Boot требуется Gradle 5.x или 6.x (также поддерживается 4.10, но эта поддержка устарела и будет удалена в будущей версии).

(Из: Справочное руководство по плагинам для Gradle Spring Boot)

Обновить

После более тщательного изучения вашего build.gradle , у вас уже есть обработка Lombok, определенная в вашем dependencies блоке:

 compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
  

Вы можете использовать либо это, либо плагин Lombok. Оба приложения одновременно применяться не обязательно.