Java Spring webflux应用程序启动失败

Java Spring webflux应用程序启动失败,java,spring-boot,spring-mvc,spring-webflux,Java,Spring Boot,Spring Mvc,Spring Webflux,应用程序在启动过程中失败,出现以下错误: The bean 'requestDataValueProcessor', defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.class], could not be registered. A bean with that name has already

应用程序在启动过程中失败,出现以下错误:

The bean 'requestDataValueProcessor', defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebMvcSecurityConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [org/springframework/security/config/annotation/web/reactive/WebFluxSecurityConfiguration.class] and overriding is disabled.
所有团队成员都有相同的问题,而且似乎即使我们检查一个旧的git标签,同样的问题仍然存在。我们已经检查了所有构建文件和依赖项,在最后一段时间内似乎没有任何更改。更有趣的是,竹子似乎在前一天成功地完成了构建和打包,但今天早上,同样的问题似乎在那里被复制

我不知道到底是什么原因在抱怨WebMvcSecurityConfiguration,因为我们在项目中只使用被动安全性。因此,在这一点上,我们没有任何spring mvc依赖项


有人有什么线索吗?Thx

因此,在我们启用spring上的调试级别日志并强制spring应用程序仅使用如下反应式配置之后:

 spring:
  main:
   web-application-type: reactive
springfox依赖项似乎在以下方面失败:

 java.lang.NoSuchMethodError: org.springframework.util.MultiValueMap.addIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)V
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.lambda$add$0(ModelSpecificationRegistryBuilder.java:37)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.add(ModelSpecificationRegistryBuilder.java:34)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at
因此,错误^^^^将我们指向sprinfox依赖项,它们是:

compile ("io.springfox:springfox-swagger-ui:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-swagger2:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-spring-webflux:3.0.0-SNAPSHOT")
经过进一步的调查,似乎其中一些包含SpringMVC依赖项,并且干扰了SpringWebFlux依赖项,应用程序对注入哪些bean感到困惑


我们已经将这些依赖关系降级为2.10.0,现在一切似乎都正常了。我的猜测是,他们已经发布了一些快照版本,包括SpringMVC,但直到现在还没有。吸取的教训是,永远不要使用某些外部库快照版本,否则您可能会遇到非常糟糕的情况。

因此,在我们启用spring上的调试级别日志并强制spring app仅使用以下被动配置之后:

 spring:
  main:
   web-application-type: reactive
springfox依赖项似乎在以下方面失败:

 java.lang.NoSuchMethodError: org.springframework.util.MultiValueMap.addIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)V
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.lambda$add$0(ModelSpecificationRegistryBuilder.java:37)
at java.base/java.util.Optional.ifPresent(Optional.java:183)
at springfox.documentation.spring.web.scanners.ModelSpecificationRegistryBuilder.add(ModelSpecificationRegistryBuilder.java:34)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at
因此,错误^^^^将我们指向sprinfox依赖项,它们是:

compile ("io.springfox:springfox-swagger-ui:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-swagger2:3.0.0-SNAPSHOT")
compile ("io.springfox:springfox-spring-webflux:3.0.0-SNAPSHOT")
经过进一步的调查,似乎其中一些包含SpringMVC依赖项,并且干扰了SpringWebFlux依赖项,应用程序对注入哪些bean感到困惑


我们已经将这些依赖关系降级为2.10.0,现在一切似乎都正常了。我的猜测是,他们已经发布了一些快照版本,包括SpringMVC,但直到现在还没有。吸取的教训是,切勿使用某些外部库快照版本,否则可能会导致非常糟糕的情况。

X.X.X-SNAPSHOT依赖项不是稳定的。 我们使用的是突然停止工作的3.0.0-SNAPSHOT。 所以下面的解决方案对我们有效

2.10.5


干杯

X.X.X-SNAPSHOT依赖项不是稳定的依赖项。 我们使用的是突然停止工作的3.0.0-SNAPSHOT。 所以下面的解决方案对我们有效

2.10.5

干杯