问题描述
我们的项目在 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 部分,当我删除分类器 = "boot" 时,它可以在没有分类器功能的情况下工作
bootRepackage {
enabled = true
classifier = "boot"
doLast{
//some tasks
}
}
为什么会这样?
解决方法
Gradle 5 删除了 Spring Boot 1.5 的 Gradle 插件所需的方法。 Spring Boot 1.5 supports Gradle 2.x or 3.x 因此它不适用于 Gradle 5 也就不足为奇了。
如果您想使用更新版本的 Gradle,您还必须升级到更新版本的 Spring Boot。在撰写本文时,2.3.x 是仍受支持的最老一代 Spring Boot。