SpringDoc OpenAPI挥舞着MergeAnnotations错误

问题描述

我正在尝试使用现有的非Spring Boot应用程序来配置OpenAPI。

Spring v.5.1.8.RELEASE SpringDoc v.1.4.6版 Spring-boot v.2.3.2.RELEASE

Open doc and swagger with spring mv

我的应用程序未启用Spring Boot,这就是为什么我从上面链接文章复制的Pom中具有以下依赖项的原因

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-ui</artifactId>
    <version>last.version</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot</artifactId>
    <version>2.1.11.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-autoconfigure</artifactId>
    <version>2.1.11.RELEASE</version>
</dependency>

我的Spring mvc项目已经具有servlet上下文配置,因此我假设我只需要注册/导入打开的api和swagger配置文件

所以我做了以下

@EnableMvc
@Configuration
@import({org.springdoc.ui.SwaggerConfig.class,org.springdoc.core.SwaggerUiConfigProperties.class,org.springdoc.core.SwaggerUiOAuthProperties.class,org.springdoc.webmvc.core.SpringDocWebMvcConfiguration.class,org.springdoc.webmvc.core.MultipleOpenApiSupportConfiguration.class,org.springdoc.core.SpringDocConfiguration.class,org.springdoc.core.SpringDocConfigProperties.class,org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.class

 @Bean
Public OpenAPI(){
return new OpenAPI();
}

运行我的应用程序时,出现以下错误

java.lang.NoSuchMethodError:org.springframework.core.type.AnnotatgedTypeMetadata.getAnnotations()/ Lorg / springframework / core / annotations / MergeAnnotations”

解决方法

这是由于spring mvc和spring-boot版本不兼容