From 4a8d01d2b627e436830b8f55fc4fa42aaff9d4b9 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Wed, 19 Nov 2025 21:58:03 -0800 Subject: [PATCH] Exclude starter POMs from lib-provided when using Gradle Fixes gh-48195 --- .../springframework/boot/gradle/plugin/WarPluginAction.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java index 4401f430722..4fa0711a265 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/WarPluginAction.java @@ -86,6 +86,8 @@ class WarPluginAction implements PluginApplicationAction { .minus((developmentOnly.minus(productionRuntimeClasspath))) .minus((testAndDevelopmentOnly.minus(productionRuntimeClasspath))) .filter(new JarTypeFileSpec()); + Callable providedClasspath = () -> providedRuntimeConfiguration(project) + .filter(new JarTypeFileSpec()); TaskProvider resolveMainClassName = project.getTasks() .named(SpringBootPlugin.RESOLVE_MAIN_CLASS_NAME_TASK_NAME, ResolveMainClassName.class); TaskProvider bootWarProvider = project.getTasks() @@ -93,7 +95,7 @@ class WarPluginAction implements PluginApplicationAction { bootWar.setGroup(BasePlugin.BUILD_GROUP); bootWar.setDescription("Assembles an executable war archive containing webapp" + " content, and the main classes and their dependencies."); - bootWar.providedClasspath(providedRuntimeConfiguration(project)); + bootWar.providedClasspath(providedClasspath); bootWar.setClasspath(classpath); Provider manifestStartClass = project .provider(() -> (String) bootWar.getManifest().getAttributes().get("Start-Class"));