Spring Boot升级至3.5.3后出现HttpClientProperties$Factory类未找到错误
Spring Boot升级至3.5.3后启动失败问题解决记录
将父POM中的Spring Boot版本从3.4.3升级至3.5.3后:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.3</version> </parent>
应用启动失败,错误堆栈信息如下:
[main] ERROR org.springframework.boot.SpringApplication -- Application run failed java.lang.IllegalStateException: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/http/client/HttpClientProperties$Factory at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:823) at org.springframework.boot.SpringApplication.run(SpringApplication.java:328) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:149) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:198) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:114) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:77) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:81) at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:64) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:63) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:353) at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) at com.nainesh.com.web.MyApplication.main(App.java:20) Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/http/client/HttpClientProperties$Factory at org.springframework.cloud.gateway.server.mvc.GatewayServerMvcAutoConfiguration$GatewayHttpClientEnvironmentPostProcessor.postProcessEnvironment(GatewayServerMvcAutoConfiguration.java:219) at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEnvironmentPreparedEvent(EnvironmentPostProcessorApplicationListener.java:132) at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEvent(EnvironmentPostProcessorApplicationListener.java:115) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:81) at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:64) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:112) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:63) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:353) at org.springframework.boot.SpringApplication.run(SpringApplication.java:313) ... 20 common frames omitted Caused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.http.client.HttpClientProperties$Factory at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ... 36 common frames omitted Disconnected from the target VM, address: '127.0.0.1:58983', transport: 'socket' Process finished with exit code 1
查阅Spring Boot 3.5迁移文档后,未找到匹配该依赖问题的升级说明。当前使用的其他依赖版本如下:
<properties> <spring.boot.version>3.5.3</spring.boot.version> <spring-cloud.version>2024.0.0</spring.cloud.version> <spring.cloud.azure.version>5.20.1</spring.cloud.azure.version> <spring-cloud.gateway.version>4.2.0</spring.cloud.gateway.version> <springdoc-openapi-starter-webmvc-ui.version>2.8.3</springdoc-openapi-starter-webmvc-ui.version> <jwks-rsa.version>0.22.1</jwks-rsa.version> <java-jwt.version>4.4.0</java-jwt.version> <azure.app.config.version>2025.2.0</azure.app.config.version> </properties>
解决方法:将spring-cloud.version从2024.0.0升级至2025.0.0后,问题已解决,所有测试用例均通过。
内容的提问来源于stack exchange,提问作者Nainesh Goel
相关产品推荐
相关产品推荐

