Spring Boot 已将Sping Boot 升级到2.7.0-无法启动Bean的documentationPluginsBootstrapper

bt1cpqcv  于 2022-12-04  发布在  Spring
关注(0)|答案(3)|浏览(361)

正在升级Springboot版本- 2.7.0扩展{springBoot版本= '2.7.0' wsdl 2 javaVersion ='0.10' cxfVersion ='3.4.3' }
云版本:'2021.0.3')}中的一个字符串。
//swagger编译“io.springfox://swagger编译“io. springfox://swagger编译“io.springfox://swagger编译“io.
获取错误:异常错误:无法启动Bean“文档插件引导程序”;嵌套异常是java.lang.NullPointerExceptionclass
任何线索都是真的很感谢解决这个问题。

flvlnr44

flvlnr441#

在application.properties

spring.mvc.pathmatch.matching-strategy= ANT_PATH_MATCHER
cedebl8k

cedebl8k2#

如果您使用的是spring-boot版本2.7.x,springfox和执行器使用此依赖关系(我不知道它是否适用于您的情况,在我执行此操作时,版本为spring-boot 2.7.1)
1.在pom.xml中

<!-- API documentation. Refer the link http://springfox.github.io/springfox/docs/2.7.0/#introduction -->
 <dependency>
     <groupId>io.springfox</groupId>
     <artifactId>springfox-swagger2</artifactId>
     <version>2.7.0</version>
 </dependency>

1.然后在SwaggerConfig配置类中

/* .pathMapping("/") can resolve the conflict between actuator and springfox */
 @Bean
 public Docket api() {
     return new Docket(DocumentationType.SWAGGER_2)
         .select()
         .apis(RequestHandlerSelectors.any())
         .paths(PathSelectors.any())
         .build()
         .pathMapping("/");
 }

1.然后
如果您使用的是application.properties

spring.mvc.pathmatch.matching-strategy= ANT_PATH_MATCHER

如果您使用的是应用程序。yml

spring:
      #Use this to befriend spring-boot-starter-actuator & springfox-boot-starter
       mvc:
         pathmatch:
           matching-strategy: ANT_PATH_MATCHER
uplii1fm

uplii1fm3#

将此Bean添加到您的swagger配置中

@Bean
    public WebMvcRequestHandlerProvider webMvcRequestHandlerProvider(Optional<ServletContext> servletContext, HandlerMethodResolver methodResolver, List<RequestMappingInfoHandlerMapping> handlerMappings) {
        handlerMappings = handlerMappings.stream().filter(rh -> rh.getClass().getName().contains("RequestMapping")).toList();
        return new WebMvcRequestHandlerProvider(servletContext, methodResolver, handlerMappings);
    }

并确保在配置中使用了DocumentationType.OAS_30
另外,在您属性文件中添加以下内容:

spring.mvc.pathmatch.matching-strategy= ANT_PATH_MATCHER

这对我很有效,但现在我只能直接访问端点,而不能访问swagger页面

相关问题