Gradle 5.0: java.lang.String не может быть приведен к классу groovy.lang.Closure (выпуск lombok) - PullRequest
0 голосов
/ 25 января 2019

Я столкнулся с ошибкой во время обновления Gradle 5.0 (с 4.10.2) и выделил код для следующего блока:

dependencyManagement {
    dependencies {
        compileOnly "org.projectlombok:lombok:1.18.2"
        testCompileOnly "org.projectlombok:lombok:1.18.2"
        annotationProcessor "org.projectlombok:lombok:1.18.2"
        testAnnotationProcessor "org.projectlombok:lombok:1.18.2"
        dependency "com.google.guava:guava:$guavaVersion"
        dependency "mysql:mysql-connector-java:$mysqlversion"
        dependency "com.google.inject:guice:${guiceVersion}"
        dependency "org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.1.RELEASE"
    }
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
        mavenBom "com.amazonaws:aws-java-sdk-bom:${awsVersion}"
    }
}

Без строк lombok код работает без проблем.

dependencyManagement {
    dependencies {
        dependency "com.google.guava:guava:$guavaVersion"
        dependency "mysql:mysql-connector-java:$mysqlversion"
        dependency "com.google.inject:guice:${guiceVersion}"
        dependency "org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.1.RELEASE"
    }
    imports {
        mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
        mavenBom "com.amazonaws:aws-java-sdk-bom:${awsVersion}"
    }
}

Ошибка class java.lang.String cannot be cast to class groovy.lang.Closure (java.lang.String is in module java.base of loader 'bootstrap'; groovy.lang.Closure is in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @675d3402)

Я меняю способ объявления lombok из-за изменений в обработке аннотаций Gradle 5.

1 Ответ

0 голосов
/ 15 июня 2019

В блоке dependencies в dependencyManagement не должно быть конкретного объявления зависимости, например.compileOnly, testCompileOnly и т. Д. Допускается только dependency, поскольку именно здесь вы определяете все - хорошо - зависимости с соответствующей версией для последующего использования в подпроектах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...