我在我的项目中使用以下依赖项:-
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-jaxrs2</artifactId>
<version>2.2.22</version>
</dependency>
下面是我尝试生成 swagger 资源的地方:-
OpenAPI oas = new OpenAPI();
Info info = new Info();
info.title("Swagger catalog-db-adapter bootstrap code");
info.setVersion("1.0.2");
SwaggerConfiguration oasConfig = new SwaggerConfiguration().openAPI(oas).prettyPrint(true)
.resourcePackages(Stream.of("org.onap.so.adapters.catalogdb.rest").collect(Collectors.toSet()));
try {
new JaxrsOpenApiContextBuilder().application(this).openApiConfiguration(oasConfig).buildContext(true);
} catch (OpenApiConfigurationException e) {
throw new RuntimeException(e.getMessage(), e);
}
但是我收到一个错误,因为 JaxrsOpenApiContextBuilder 仍然支持 javax 而不是 jakarta。除了我正在使用的之外,我们是否还有任何依赖项包含 jakarta 而不是 javax 的导入
使用为 Jakarta EE 构建的并行 Swagger 工件集。
引用维基:
注意:Jakarta 命名空间支持(自版本 2.1.7 起)
自版本 2.1.7 起,Swagger Core 还支持 Jakarta 命名空间,并具有一组带有 -jakarta 后缀的并行工件,提供与“标准”javax 命名空间相同的功能。
虽然本文档中描述的行为对于命名空间、工件 ID、JEE / Jakarta EE 版本和提到的 Jackson 版本是相同的,但均引用 javax 命名空间。
如果您使用 jakarta 命名空间:
当您读取以下形式的工件 ID 时:swagger-*(例如 swagger-core),请将其替换为 swagger--jakarta(例如 swagger-core-jakarta) 当您在包名称中读取 javax. 时,请将其替换为 jakarta(例如 jakarta.ws.rs.GET) 当示例中提供了 JEE / Jakarta EE 依赖项时,请将其版本替换为 Jakarta EE 9 版本。 当示例中提供 Jackson 依赖项时,请为支持它的工件添加 jakarta 分类器。请参阅 Jackson 发行说明 Jakarta 名称空间 Swagger Core 工件需要 Jackson 2.12+