【问题标题】:How to fix java.lang.RuntimeException: missing swagger input or config?如何修复 java.lang.RuntimeException:缺少招摇输入或配置?
【发布时间】:2020-10-15 23:36:36
【问题描述】:

我正在尝试使用 swagger-codegen-cli.jarswagger.json 生成 java 代码,但我得到了这个异常:

Exception in thread "main" java.lang.RuntimeException: missing swagger input or config!
        at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:763)
        at io.swagger.codegen.cmd.Generate.run(Generate.java:299)
        at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:35)

我尝试运行的命令如下:

java -jar swagger-codegen-cli.jar generate -i swagger.json -l java -c java-config.json -o api-client

【问题讨论】:

  • 请检查this 并显示您的 swagger.json 文件
  • 抱歉不能分享我的 swagger.json
  • 您使用什么版本的 Swagger Codegen (java -jar swagger-codegen-cli.jar version)?你的 swagger.json 文件是 swagger: '2.0' 还是 openapi: 3.0.0
  • 我从master分支github.com/swagger-api/swagger-codegen克隆的swagger-codegen-cli.json,不知道jar对应的是哪个版本,至于swagger.json是openapi:3.0.1
  • @Helen 我觉得master分支对应2.X版本的Swagger Codegen,我从3.0.0分支克隆过来试试

标签: swagger swagger-codegen


【解决方案1】:

您正在使用不支持 OpenAPI 3.0 的 Swagger Codegen 2.x。

您需要改用 Swagger Codegen 3.x。您可以从 Maven Central 下载最新的 3.x CLI JAR:
https://mvnrepository.com/artifact/io.swagger.codegen.v3/swagger-codegen-cli

这是 v. 3.0.20 CL​​I(截至撰写本文时的最新版本)的直接链接:
https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.20/swagger-codegen-cli-3.0.20.jar


或者,如果您更喜欢从源代码构建 codegen,版本 3 位于 3.0.0 分支中:
https://github.com/swagger-api/swagger-codegen/tree/3.0.0

【讨论】:

  • 但是如果您使用的是 swagger 代码生成器,为什么要列出 JAR 依赖关系?官方文档说你需要把它作为插件列在 pom.xml 中?这里有什么我不明白的地方吗?
  • @ennth 运行 Swagger Codegen 的方式有很多种:作为 Maven 插件、作为 CLI 工具、作为 Docker 镜像等。本问答专门针对 CLI。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 1970-01-01
相关资源
最近更新 更多