Gradle 5.0:java.lang.String 不能被强制转换为类 groovy.lang.Closure(lo



我在 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}"
    }
}

没有龙目岛线,代码可以毫无问题地工作。

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)

由于 Gradle 5 注释处理的变化,我正在更改龙目岛的声明方式。

dependencyManagement下的dependencies块中,不应该有任何具体的依赖声明,例如。 compileOnlytestCompileOnly等只允许使用dependency,因为您可以在其中定义所有具有正确版本的依赖项,以便以后在子项目中使用。

相关内容

最新更新