3 回答
TA贡献1725条经验 获得超7个赞
在您的 Spring Boot 启动类中,@EnableAutoConfiguration注释将自动配置 MVC 部分(WebMvcAutoConfiguration由于相同的 bean 名称将失败DelegatingWebFluxConfiguration)
所以尝试像这样从自动配置中排除它:
@SpringBootApplication
@EnableAutoConfiguration(exclude = {WebMvcAutoConfiguration.class })
public static void main(String[] args) {
...
SpringApplication.run(MyApp.class, args);
}
TA贡献1850条经验 获得超11个赞
如您的问题描述中所述,在 Spring Webflux 中使用 Spring MVC 的依赖项可能会导致此问题。我通过排除组“org.springframework.boot”同时包含旧的依赖项解决了这个问题。
在 gradle.build 我做了类似下面的事情:
implementation("dependency-using-spring-mvc") { exclude(group= "org.springframework.boot") }
TA贡献1852条经验 获得超1个赞
如果我理解正确,你在类路径上有一些与 Web 相关的依赖项,但没有构建 Web 应用程序,你可以明确地告诉SpringApplication
你不需要 Web 应用程序:
app.setWebEnvironment(false);
这是禁用与 Web 相关的自动配置的方法,因为这意味着您不需要知道那些自动配置类是什么,让 Spring Boot 为您处理。
添加回答
举报