微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编译 swagger-codegen java Petstore sdk 时出错

如何解决编译 swagger-codegen java Petstore sdk 时出错

我正在尝试使用 swagger-codegen (3.0.0) 生成一个 java API 我使用的是 swagger-codegen-cli-3.0.24.jar 版本的 codegen jar。 我运行以下命令为示例 petstore 项目生成 SDK:

java -jar swagger-codegen-cli.jar generate -i code/swagger-codegen/modules/swagger-codegen/src/test/resources/3_0_0/petstore.json -l java -o out/pet-java

当我编译生成的sdk项目时:

cd out/pet-java
mvn clean package

我收到以下错误

Compilation failure
[ERROR] out/pet-java/src/main/java/io/swagger/client/model/Pet.java:[87,34] cannot find symbol
[ERROR]   symbol:   method nextObject()
[ERROR]   location: variable jsonReader of type com.google.gson.stream.JsonReader
it is using <gson-version>2.8.1</gson-version> as dependency.

解决方法

最终真正的答案是让 swagger-codegen 修复他们的回归。他们承认这是一个问题。与此同时,我已经针对我的特定情况解决了这个问题。要演示必要的更改类型,请参见下文:

enter image description here

在某些文件中,而不是 nextObject(),可能会调用 next()。然而,解决方案是相同的。

对于差异中的任何混淆深表歉意。显然,我将文件中的原始行在工作替换行下方注释掉了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。