SpringBoot 升级至 2.6.3 项目启动报错-documentationPluginsBootstrapper
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);
}
总结
声明
以上内容均来源于网络,如有错误,请多多包含。
参考文献
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgagfgj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01