我正在尝试使用现有的非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”
答案 0 :(得分:1)
这是由于spring mvc和spring-boot版本不兼容