首页 > 解决方案 > 升级到 gradle 6.6.1(也是 gradle 5)时,bootRepackage 分类器不起作用

问题描述

我们的项目在 gradle 4.10.2(Spring boot 1.5.22)中仍然运行良好,但是当我将 gradle 升级到 6.6.1 时它抛出异常

org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':my-app'.
Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener
Caused by: java.lang.NoSuchMethodError: org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;
at org.springframework.boot.gradle.repackage.RepackagePluginFeatures$RegisterInputsOutputsAction.setupInputOutputs(RepackagePluginFeatures.java:150)
at org.springframework.boot.gradle.repackage.RepackagePluginFeatures$RegisterInputsOutputsAction.execute(RepackagePluginFeatures.java:136)

我已经尝试过使用 gradle 5 它仍然发生。

这是我的 gradle.build bootRepackage 部分,当我删除分类器 =“引导”它没有分类器功能时工作

bootRepackage {
    enabled = true
    classifier = "boot"
    doLast{
        //some tasks
    }
}

为什么会这样?

标签: spring-bootgradleclassification

解决方案


Gradle 5 删除了 Spring Boot 1.5 的 Gradle 插件所需的方法。Spring Boot 1.5支持 Gradle 2.x 或 3.x,因此它不能与 Gradle 5 一起使用也就不足为奇了。

如果您想使用更新版本的 Gradle,您还必须升级到更新版本的 Spring Boot。在撰写本文时,2.3.x 是仍受支持的最老一代 Spring Boot。


推荐阅读