首页 > 编程语言 >Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx

Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerEx

时间:2023-02-28 09:45:26浏览次数:65  
标签:lang exception java allEndpoints basePath environment webEndpointProperties Spri

You might encounter the “Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException” error while upgrading Spring Boot and Swagger API Documentation from 2.5.0 to 2.6.X and 2.X to 3.X respectively.

This issue is caused by the new path pattern-based path matching strategy for Spring MVC which is now the new default from Spring Boot 2.6.0 and is not supported by Spring Fox 3.0.0.

You can resolve this error by the below workaround:

  1. Set the below path matcher property in the application.properties file.

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
2. Add the following bean in the Spring Boot starter file.

点击查看代码
@Bean
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 = this.shouldRegisterLinksMapping(webEndpointProperties, environment, basePath);
    return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
}

private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties, Environment environment, String basePath) {
    return webEndpointProperties.getDiscovery().isEnabled() && (StringUtils.hasText(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
}
  1. Restart the application.

标签:lang,exception,java,allEndpoints,basePath,environment,webEndpointProperties,Spri
From: https://www.cnblogs.com/xiaojf/p/17162810.html

相关文章

  • JavaFX 学习记录
    使用JavaFX时一些奇怪的问题继承自Application类的构造函数会被执行两次先看代码://FXTestMain.javaimportjavafx.application.Application;importjavafx.stage......
  • java中&的使用
    &是位于运算当它的左右是两个int类型数时,要将它们转化为二进制进行位于运算(即将两个二进制数上的每一位进行且运算)例如:4&3即(100&101)结果为:100......
  • Golang如何快速构建一个CLI小工示例
    这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪如何Golang快速构建一个CLI......
  • golang对接企业微信群机器人-在线客服系统新消息提醒方式之一【唯一客服】
    最近客服系统对接了一下企业微信的机器人企业成员(内部)群机器人只能在企业微信内部群里添加,设置好机器人头像名称之后会得到一个webhook,创建者可使用此wenhook去调用相关a......
  • 吐血整理!2万字Java基础面试题(带答案)请收好!
    熬夜整理了这么多年来的Java基础面试题,欢迎学习收藏,手机上可以点击这里,效果更佳https://mp.weixin.qq.com/s/ncbEQqQdJo0UaogQSgA0bQ1.1Hashmap与concurrentHashMap......
  • java正则匹配demo
    java正则匹配实现1.问题描述根据指定的字段名限制条件,提取出sql语句中的对应字段名并返回。字段名限制条件如下:必须以${开头,}结尾;中间只能包含字母、数字和下划......
  • javaSE学习二
    使用Scanner实现用户交互   注意点:使用next方法时一定读取到有效字符后才能结束输入,有效字符前的空白自动去除,有效字符后的空白为结束符,next不能得到有空格的字符串......
  • Golang入门第四天
    面向对象编程匿名字段匿名字段初始化方法值语义与引用语义封装,继承,多态方法值,方法表达式接口接口继承,接口转换空接口通过if实现类型断言通过switch实现类型断......
  • Java语言概述
    Java概述是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序......
  • 从键盘输入的值 放到javabean 函数数组中
    类packagecom.fqs.demo1;publicclassCar{privateStringpinpai;privateDoubleprice;privateStringcolor;publicCar(){}......