JaxrsOpenApiContextBuilder 不支持 jakarta

问题描述 投票:0回答:1

我在我的项目中使用以下依赖项:-

<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 的导入

java spring-boot swagger
1个回答
0
投票

使用为 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+

© www.soinside.com 2019 - 2024. All rights reserved.