我将我的应用程序
spring-boot-starter-parent
版本升级到2.7.10。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.10</version>
</parent>
<properties>
<java.version>1.8</java.version>
<properties>
除此之外,我将我的应用程序集成到 OpenApi,并为其添加了如下依赖项
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.8</version>
<type>pom</type>
</dependency>
此后,我可以在这里访问我的招摇
http://localhost:8080/v3/api-docs
,但我可以将其视为JSON
响应。为了获得典型的 swagger ui 页面,建议我添加以下依赖项,同时删除 springdoc-openapi-ui
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.0</version>
</dependency>
我什至尝试使用下面的依赖项,但我得到了相同的错误
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
<version>2.0.0</version>
</dependency>
下面是我的Swagger配置类
@Bean
public OpenAPI customOpenAPIConfig() {
return new OpenAPI().info(buildInfo());
}
private Info buildInfo() {
return new Info()
.title("WTS-Config Shipper Preferences API")
.description("Shipper Preference API to create rules");
}
现在,当我在本地运行应用程序时,出现以下错误
Caused by: java.lang.UnsupportedClassVersionError: org/springdoc/core/conditions/MultipleOpenApiSupportCondition has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我的项目当前正在使用
Java 1.8
并且我正在 IntelliJ IDEA
中运行此应用程序,并且我确保所有设置都设置为 Java8,包括编译器等。事实上,我的 mac 中没有安装任何其他 java 版本.
我的目标是使用 Swagger UI 访问应用程序:
http://localhost:8080/swagger-ui.html
依赖项
springdoc-openapi-starter-webmvc-ui
和springdoc-openapi-starter-webmvc-api
仅支持JDK17
和SpringBoot3.x
。
如果您想使用 SpringBoot2.x
,请使用 springdoc-openapi-ui
依赖项。