一、问题现象
2023-12-05 16:12:28.499]|[ERROR]|[79954]|[main]|[]|[]|[o.s.boot.SpringApplication :837]|[Application run failed
java.lang.IllegalArgumentException: Could not find class [org.springframework.cloud.netflix.hystrix.ReactiveHystrixCircuitBreakerAutoConfiguration]
at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:334) ~[spring-core-5.2.10.RELEASE.jar:5.2.10.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.5.RELEASE.jar:2.3.5.RELEASE]
at com.upkeep.gateway.GatewayApplication.main(GatewayApplication.java:12) ~[classes/:na]
Caused by: java.lang.ClassNotFoundException: org.springframework.cloud.netflix.hystrix.ReactiveHystrixCircuitBreakerAutoConfiguration
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
…… ……
二、解决办法
1、本次异常产生时的hystrix版本
本次异常对应的hystrix版本为:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2、修改后的hystrix版本
将版本修改如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
三、原因分析
查询ReactiveHystrixCircuitBreakerAutoConfiguration类,无法查到,说明低版本中还不具备该类。提升版本后,可以查到,同时消除了本文提到的异常。