Closed wxpid1 closed 6 months ago
Use Spring Boot 3.1.9-no problem, as long as you use 3.2.0 + you will get the above error!
You are specifying <version>3.2.3</version>
for the spring-boot-starter-webflux
dependency but no versions for the other Spring Boot starter dependencies. You should use the Spring Boot managed versions of dependencies whenever possible, and not mix different versions of starters.
If ensuring all the starter versions match doesn't fix the problem, please provide a complete minimal sample that reproduces the problem. You can share it with us by pushing it to a separate repository on GitHub or by zipping it and attaching it to this issue.
您正在为其他 Spring Boot 入门依赖项指定依赖项,但没有指定版本。应尽可能使用依赖项的 Spring Boot 托管版本,而不是混合使用不同版本的启动器。
<version>3.2.3</version>``spring-boot-starter-webflux
如果确保所有入门版本匹配都不能解决问题,请提供重现问题的完整最小示例。您可以通过将其推送到 GitHub 上的单独存储库或压缩并将其附加到此问题来与我们共享它。
Versions are unified, this is a multi-module project, by the Parent Project Unified Management Dependency.
Single module use no problem, multi-module use will appear this problem.
D:\dev\java\jdk21\bin\java.exe -Dvisualvm.id=699573604424100 -Dvisualgc.id=699573604398200 -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\app\JetBrains\Toolbox\IntelliJ IDEA Ultimate\lib\idea_rt.jar=51215:D:\app\JetBrains\Toolbox\IntelliJ IDEA Ultimate\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\IdeaProjects\wxp-boot\wxp-webflux\target\classes;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter-webflux\3.2.3\spring-boot-starter-webflux-3.2.3.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter\3.2.3\spring-boot-starter-3.2.3.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot\3.2.3\spring-boot-3.2.3.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-autoconfigure\3.2.3\spring-boot-autoconfigure-3.2.3.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter-logging\3.2.3\spring-boot-starter-logging-3.2.3.jar;D:\dev\maven\jar\ch\qos\logback\logback-classic\1.4.14\logback-classic-1.4.14.jar;D:\dev\maven\jar\ch\qos\logback\logback-core\1.4.14\logback-core-1.4.14.jar;D:\dev\maven\jar\org\apache\logging\log4j\log4j-to-slf4j\2.21.1\log4j-to-slf4j-2.21.1.jar;D:\dev\maven\jar\org\apache\logging\log4j\log4j-api\2.21.1\log4j-api-2.21.1.jar;D:\dev\maven\jar\org\slf4j\jul-to-slf4j\2.0.12\jul-to-slf4j-2.0.12.jar;D:\dev\maven\jar\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;D:\dev\maven\jar\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter-json\3.2.3\spring-boot-starter-json-3.2.3.jar;D:\dev\maven\jar\com\fasterxml\jackson\core\jackson-databind\2.15.3\jackson-databind-2.15.3.jar;D:\dev\maven\jar\com\fasterxml\jackson\core\jackson-annotations\2.15.4\jackson-annotations-2.15.4.jar;D:\dev\maven\jar\com\fasterxml\jackson\core\jackson-core\2.15.4\jackson-core-2.15.4.jar;D:\dev\maven\jar\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.4\jackson-datatype-jdk8-2.15.4.jar;D:\dev\maven\jar\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.4\jackson-datatype-jsr310-2.15.4.jar;D:\dev\maven\jar\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.4\jackson-module-parameter-names-2.15.4.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter-reactor-netty\3.2.3\spring-boot-starter-reactor-netty-3.2.3.jar;D:\dev\maven\jar\io\projectreactor\netty\reactor-netty-http\1.1.16\reactor-netty-http-1.1.16.jar;D:\dev\maven\jar\io\netty\netty-codec-http\4.1.107.Final\netty-codec-http-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-common\4.1.107.Final\netty-common-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-buffer\4.1.107.Final\netty-buffer-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-transport\4.1.96.Final\netty-transport-4.1.96.Final.jar;D:\dev\maven\jar\io\netty\netty-codec\4.1.107.Final\netty-codec-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-codec-http2\4.1.107.Final\netty-codec-http2-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-resolver-dns\4.1.107.Final\netty-resolver-dns-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-resolver\4.1.107.Final\netty-resolver-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-codec-dns\4.1.107.Final\netty-codec-dns-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-resolver-dns-native-macos\4.1.107.Final\netty-resolver-dns-native-macos-4.1.107.Final-osx-x86_64.jar;D:\dev\maven\jar\io\netty\netty-resolver-dns-classes-macos\4.1.107.Final\netty-resolver-dns-classes-macos-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-transport-native-epoll\4.1.107.Final\netty-transport-native-epoll-4.1.107.Final-linux-x86_64.jar;D:\dev\maven\jar\io\netty\netty-transport-native-unix-common\4.1.107.Final\netty-transport-native-unix-common-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-transport-classes-epoll\4.1.107.Final\netty-transport-classes-epoll-4.1.107.Final.jar;D:\dev\maven\jar\org\springframework\spring-web\6.0.13\spring-web-6.0.13.jar;D:\dev\maven\jar\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\dev\maven\jar\io\micrometer\micrometer-observation\1.12.3\micrometer-observation-1.12.3.jar;D:\dev\maven\jar\io\micrometer\micrometer-commons\1.12.3\micrometer-commons-1.12.3.jar;D:\dev\maven\jar\org\springframework\spring-webflux\6.1.4\spring-webflux-6.1.4.jar;D:\dev\maven\jar\org\projectlombok\lombok\1.18.30\lombok-1.18.30.jar;D:\dev\maven\jar\org\springdoc\springdoc-openapi-starter-webflux-ui\2.3.0\springdoc-openapi-starter-webflux-ui-2.3.0.jar;D:\dev\maven\jar\org\springdoc\springdoc-openapi-starter-webflux-api\2.3.0\springdoc-openapi-starter-webflux-api-2.3.0.jar;D:\dev\maven\jar\org\springdoc\springdoc-openapi-starter-common\2.3.0\springdoc-openapi-starter-common-2.3.0.jar;D:\dev\maven\jar\io\swagger\core\v3\swagger-core-jakarta\2.2.19\swagger-core-jakarta-2.2.19.jar;D:\dev\maven\jar\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;D:\dev\maven\jar\io\swagger\core\v3\swagger-annotations-jakarta\2.2.19\swagger-annotations-jakarta-2.2.19.jar;D:\dev\maven\jar\io\swagger\core\v3\swagger-models-jakarta\2.2.19\swagger-models-jakarta-2.2.19.jar;D:\dev\maven\jar\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar;D:\dev\maven\jar\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.15.4\jackson-dataformat-yaml-2.15.4.jar;D:\dev\maven\jar\org\webjars\swagger-ui\5.10.3\swagger-ui-5.10.3.jar;D:\dev\maven\jar\com\github\xiaoymin\knife4j-openapi3-ui\4.4.0\knife4j-openapi3-ui-4.4.0.jar;D:\dev\maven\jar\org\slf4j\slf4j-api\2.0.12\slf4j-api-2.0.12.jar;D:\dev\maven\jar\jakarta\xml\bind\jakarta.xml.bind-api\4.0.1\jakarta.xml.bind-api-4.0.1.jar;D:\dev\maven\jar\jakarta\activation\jakarta.activation-api\2.1.2\jakarta.activation-api-2.1.2.jar;D:\dev\maven\jar\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\dev\maven\jar\io\swagger\swagger-annotations\1.6.2\swagger-annotations-1.6.2.jar;D:\dev\maven\jar\cn\hutool\hutool-all\5.8.25\hutool-all-5.8.25.jar;D:\dev\maven\jar\io\asyncer\r2dbc-mysql\1.1.1\r2dbc-mysql-1.1.1.jar;D:\dev\maven\jar\io\projectreactor\reactor-core\3.6.3\reactor-core-3.6.3.jar;D:\dev\maven\jar\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;D:\dev\maven\jar\io\projectreactor\netty\reactor-netty\1.1.16\reactor-netty-1.1.16.jar;D:\dev\maven\jar\io\projectreactor\netty\reactor-netty-core\1.1.16\reactor-netty-core-1.1.16.jar;D:\dev\maven\jar\io\netty\netty-handler\4.1.107.Final\netty-handler-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-handler-proxy\4.1.107.Final\netty-handler-proxy-4.1.107.Final.jar;D:\dev\maven\jar\io\netty\netty-codec-socks\4.1.107.Final\netty-codec-socks-4.1.107.Final.jar;D:\dev\maven\jar\io\projectreactor\netty\incubator\reactor-netty-incubator-quic\0.1.16\reactor-netty-incubator-quic-0.1.16.jar;D:\dev\maven\jar\io\netty\incubator\netty-incubator-codec-native-quic\0.0.57.Final\netty-incubator-codec-native-quic-0.0.57.Final-linux-x86_64.jar;D:\dev\maven\jar\io\netty\incubator\netty-incubator-codec-classes-quic\0.0.57.Final\netty-incubator-codec-classes-quic-0.0.57.Final.jar;D:\dev\maven\jar\io\r2dbc\r2dbc-spi\1.0.0.RELEASE\r2dbc-spi-1.0.0.RELEASE.jar;D:\dev\maven\jar\org\springframework\boot\spring-boot-starter-data-r2dbc\3.2.3\spring-boot-starter-data-r2dbc-3.2.3.jar;D:\dev\maven\jar\org\springframework\data\spring-data-r2dbc\3.2.3\spring-data-r2dbc-3.2.3.jar;D:\dev\maven\jar\org\springframework\data\spring-data-relational\3.2.3\spring-data-relational-3.2.3.jar;D:\dev\maven\jar\com\github\jsqlparser\jsqlparser\4.6\jsqlparser-4.6.jar;D:\dev\maven\jar\org\springframework\data\spring-data-commons\3.2.3\spring-data-commons-3.2.3.jar;D:\dev\maven\jar\org\springframework\spring-tx\6.1.4\spring-tx-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-jdbc\6.1.4\spring-jdbc-6.1.4.jar;D:\dev\maven\jar\org\springframework\spring-r2dbc\6.1.4\spring-r2dbc-6.1.4.jar;D:\dev\maven\jar\io\r2dbc\r2dbc-pool\1.0.1.RELEASE\r2dbc-pool-1.0.1.RELEASE.jar;D:\dev\maven\jar\io\projectreactor\addons\reactor-pool\1.0.5\reactor-pool-1.0.5.jar com.wxp.webflux.WebFluxApplication
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.3)
2024-02-26T22:42:27.118+08:00 INFO 20560 --- [wxp-webflux] [ main] com.wxp.webflux.WebFluxApplication : Starting WebFluxApplication using Java 21 with PID 20560 (D:\IdeaProjects\wxp-boot\wxp-webflux\target\classes started by wxp in D:\IdeaProjects\wxp-boot)
2024-02-26T22:42:27.120+08:00 DEBUG 20560 --- [wxp-webflux] [ main] com.wxp.webflux.WebFluxApplication : Running with Spring Boot v3.2.3, Spring v6.1.4
2024-02-26T22:42:27.121+08:00 INFO 20560 --- [wxp-webflux] [ main] com.wxp.webflux.WebFluxApplication : The following 1 profile is active: "dev"
2024-02-26T22:42:27.592+08:00 INFO 20560 --- [wxp-webflux] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data R2DBC repositories in DEFAULT mode.
2024-02-26T22:42:27.602+08:00 INFO 20560 --- [wxp-webflux] [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 5 ms. Found 0 R2DBC repository interfaces.
2024-02-26T22:42:27.623+08:00 WARN 20560 --- [wxp-webflux] [ main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.reactor.netty.ReactorNettyConfigurations$ReactorResourceFactoryConfiguration.reactorResourceFactory
2024-02-26T22:42:27.628+08:00 INFO 20560 --- [wxp-webflux] [ main] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-02-26T22:42:27.648+08:00 ERROR 20560 --- [wxp-webflux] [ main] o.s.boot.SpringApplication : Application run failed
java.lang.IllegalStateException: Error processing condition on org.springframework.boot.autoconfigure.reactor.netty.ReactorNettyConfigurations$ReactorResourceFactoryConfiguration.reactorResourceFactory
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:183) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[spring-context-6.1.4.jar:6.1.4]
at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.3.jar:3.2.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.3.jar:3.2.3]
at com.wxp.webflux.WebFluxApplication.main(WebFluxApplication.java:22) ~[classes/:na]
Caused by: java.lang.IllegalStateException: @ConditionalOnMissingBean did not specify a bean using type, name or annotation and the attempt to deduce the bean's type failed
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.validate(OnBeanCondition.java:515) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:463) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:156) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
... 17 common frames omitted
Caused by: org.springframework.boot.autoconfigure.condition.OnBeanCondition$BeanTypeDeductionException: Failed to deduce bean type for org.springframework.boot.autoconfigure.reactor.netty.ReactorNettyConfigurations$ReactorResourceFactoryConfiguration.reactorResourceFactory
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:545) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanType(OnBeanCondition.java:534) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.<init>(OnBeanCondition.java:456) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
... 19 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.http.client.ReactorResourceFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:534) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:513) ~[na:na]
at org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.resolve(FilteringSpringBootCondition.java:108) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.getReturnType(OnBeanCondition.java:553) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
at org.springframework.boot.autoconfigure.condition.OnBeanCondition$Spec.deducedBeanTypeForBeanMethod(OnBeanCondition.java:541) ~[spring-boot-autoconfigure-3.2.3.jar:3.2.3]
... 21 common frames omitted
As far as I can tell, that's the same stack trace as before. As such, it doesn't help to diagnose the problem. Please do as @scottfrederick already asked:
If ensuring all the starter versions match doesn't fix the problem, please provide a complete minimal sample that reproduces the problem. You can share it with us by pushing it to a separate repository on GitHub or by zipping it and attaching it to this issue.
Thank you very much for your answers. I have found the problem and solved it.
The reason is because the underlying layer has a low-level dependency:
<artifactId>spring-web</artifactId>
<version>6.0.13</version>
</dependency>
Just upgrade it to 6.1.4
JDK Version JDK 21
Dependency Information:
error Information