SpringBoot 升级至 2.6.3 项目启动报错-documentationPluginsBootstrapper
关键词:Failed to start bean ‘documentationPluginsBootstrapper’ management SpringBoot2.6.3
文章目录
前言
近期搞了搞版本升级,都是泪。升级使我更强大,天天加班排BUG
版本升级要慎重!
版本升级要慎重!
版本升级要慎重!
废话不多数,解决方案如下。
一、配置文件
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
必须添加此配置
如果你的项目引入 spring-actuator 且 没有配置management.server
。加上上述配置后,启动项目大概率还会报错。
正常启动配置
management:
endpoints:
web:
exposure:
include: '*'
base-path: /actuator
server:
port: 8083
异常启动配置
management:
endpoints:
web:
exposure:
include: '*'
base-path: /actuator
原因为何,自行看源码 org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration
二、解决方案
解决方法一
添加 management.server
配置。
缺点:每个工程都要使用两个端口,不够灵活
解决方法二(推荐)
添加下面配置
/**
* @see org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration
*
* @return
*/
@Bean
@ConditionalOnManagementPort(ManagementPortType.SAME)
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, Environment environment) {
List<ExposableEndpoint<?>> allEndpoints = new ArrayList<>();
Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
allEndpoints.addAll(webEndpoints);
allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
String basePath = webEndpointProperties.getBasePath();
EndpointMapping endpointMapping = new EndpointMapping(basePath);
boolean shouldRegisterLinksMapping = webEndpointProperties.getDiscovery().isEnabled() &&
(org.springframework.util.StringUtils.hasText(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
}
总结
以上就是本文的主要内容了, Failed to start bean 'documentationPluginsBootstrapper'
项目启动失败你学会怎么解决了嘛 记得 点赞 收藏哦(*^▽^*)
。
声明
以上内容均来源于网络,如有错误,请多多包含。