首页 > 解决方案 > 在类路径资源中定义名称为“defaultServletHandlerMapping”的 bean 创建错误

问题描述

将 spring-boot starter parent 更新到 2.4.3 后,我遇到了以下错误。但是在设置 server.servlet.register-default-servlet=true 后,应用程序按预期工作。但我想知道的是,在参考 spring 文档中 > Spring Boot 2.4 将不再注册您的 servlet 容器提供的 DefaultServlet。在大多数应用程序中,不使用它,因为 Spring MVC 的 DispatcherServlet 是唯一需要的 servlet。所以我是否遗漏了任何东西,因为我的应用程序没有将 DispatcherServlet 视为默认应用程序

org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]中定义的名称为“defaultServletHandlerMapping”的bean创建错误:通过工厂方法进行的bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.web.servlet.HandlerMapping]:工厂方法“defaultServletHandlerMapping”抛出异常;嵌套异常是 java.lang.IllegalStateException:无法找到用于提供静态内容的默认 servlet。请明确设置“defaultServletName”属性。在 org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658)

标签: javamodel-view-controllerspring-boot-maven-plugin

解决方案


推荐阅读