包 io.swagger.v3.oas.annotations.media 不存在(Swagger Codegen)

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

我在gradle中使用swagger codegen cli工具(版本3.0.25)生成一个java客户端:

task doCodeGenSdk(type: JavaExec) {
main = "io.swagger.codegen.v3.Codegen"
classpath = configurations.codeGenCli
inputs.files file("${swaggerSpecDir}/*.json")
outputs.dir file("${codeGenDirSdk}")
args = ["generate", "--lang", "java", "--input-spec", "${swaggerSpecFile}",
        "--config", "${swaggerConfig}",
        "--template-dir", "${swaggerTemplateDir}",
        "--output", "${codeGenDirSdk}"]
systemProperty "apiTests", "false"
systemProperty "apiDocs", "false"
systemProperty "modelTests", "false"
systemProperty "modelDocs", "false"}

swagger配置文件如下所示:

{
"library": "resttemplate",
"artifactVersion": "__VERSION__",
"artifactId": "__ARTIFACT_ID__",
"modelPackage": "com.model",
"apiPackage": "com.api",
"invokerPackage": "com.invoker",
"dateLibrary": "java8",
"apiTests": false,
"java8": true,
"serializableModel": true,
"useBeanValidation": true,
"performBeanValidation": true}

模板目录具有以下胡子文件:

ApiClient.mustache, generatedAnnotation.mustache, licenseInfo.mustach, pojo.mustache

gradle 文件:

buildscript {
repositories {
    maven {
        url "https://plugins.gradle.org/m2/"
    }
}
dependencies {
    classpath "io.swagger.core.v3:swagger-gradle-plugin:2.1.10"
  }
}
apply plugin: io.swagger.v3.plugins.gradle.SwaggerPlugin
configurations {
    codeGenCli
}
dependencies {
    codeGenCli "io.swagger.codegen.v3:swagger-codegen-cli:3.0.25"
}

swagger codegen 在构建目录中生成文件,但是某些包存在导入错误。

error: package io.swagger.v3.oas.annotations.media does not exist

我们在 2.0 中使用 swagger codegen 工具使用 swagger 规范文件生成客户端代码。

这是我们第一次尝试使用 3.0 中的 swagger 规范文件生成客户端。

任何帮助将不胜感激。

java gradle swagger swagger-codegen
2个回答
12
投票

我能够通过在 build.gradle 文件中的编译时添加 swagger-annotations 库来解决依赖问题:

dependencies {
implementation "io.swagger.core.v3:swagger-annotations:2.1.10"
}

3
投票

添加此依赖项

<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-annotations</artifactId>
    <version>2.2.10</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.