es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

io.swagger.v3.parser.OpenAPIV3Parser no está exportado.

Estoy intentando analizar un documento OPEN API V3 usando la biblioteca swagger-parser-v3 (https://github.com/swagger-api/swagger-parser) versión 2.0.29. Pero cuando compilo el código, obtengo el siguiente error.

[ERROR] io.swagger.v3.oas.models.servers.Server no está exportado
[ERROR] io.swagger.v3.oas.models.OpenAPI no está exportado
[ERROR] io.swagger.v3.oas.models.PathItem no está exportado
[ERROR] io.swagger.v3.oas.models.Operation no está exportado
[ERROR] io.swagger.v3.oas.models.Paths no está exportado
[ERROR] io.swagger.v3.parser.OpenAPIV3Parser no está exportado

Aquí está mi código.

import io.swagger.v3.parser.OpenAPIV3Parser;
OpenAPI openAPI = new OpenAPIV3Parser().read(swaggerFilePath);

Estoy viendo este problema al construir usando maven.
¿Alguien puede ayudarme a resolver este problema, por favor?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución al problema de análisis de documentos OPEN API V3 utilizando la biblioteca swagger-parser-v3

    El mensaje de error indica que las clases Swagger/OpenAPI requeridas no están exportadas en la biblioteca. Esto puede ocurrir debido a cambios en el sistema de módulos en Java 9 en adelante.

    Para resolver este problema, es necesario agregar explícitamente las siguientes dependencias en el archivo POM.xml:

    <dependency>
      <groupid>io.swagger.core.v3</groupid>
      <artifactid>swagger-core</artifactid>
      <version>2.1.10</version>
    </dependency>
    <dependency>
      <groupid>io.swagger.core.v3</groupid>
      <artifactid>swagger-models</artifactid>
      <version>2.1.10</version>
    </dependency>
    <dependency>
      <groupid>io.swagger.core.v3</groupid>
      <artifactid>swagger-parser</artifactid>
      <version>2.1.10</version>
    </dependency>
    

    Estas dependencias son necesarias para acceder a las clases Swagger/OpenAPI.

    Después de agregar estas dependencias, es necesario actualizar las declaraciones de importación de la siguiente manera:

    import io.swagger.parser.v3.OpenAPIV3Parser;
    import io.swagger.v3.oas.models.OpenAPI;
    

    Finalmente, ejecuta el comando mvn clean install para reconstruir el proyecto.

    Esto debería resolver el problema y permitirte analizar el documento OPEN API V3 utilizando la biblioteca swagger-parser-v3.

Comments are closed.