我在pom中使用swagger-codegen-maven-plugin生成客户端。这是我的插件信息:
<plugins>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.9</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/api.json</inputSpec>
<language>java</language>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
使用:
java版本“ 1.8.0_221”
Apache Maven 3.6.1
运行mvn compile时出现很多错误,因为在我的仓库中找不到软件包名称,例如
[错误] //target/generation-sources/swagger/src/main/java/io/swagger/client/model/.java:[18,23] 包com.google.gson不存在
要克服这些错误并成功进行mvn编译,我不得不在pom的依赖项中命名丢失的包,例如
<dependencies>
<dependency>
<groupId>io.gsonfire</groupId>
<artifactId>gson-fire</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
我不认为这是最佳做法,因为我必须自己指定版本,而不知道源使用的实际版本。
我的问题是,当有swagger-codegen-plugin无法解决的软件包时,使用maven生成客户端的最佳实践是什么?或者,请告知在这种情况下我发现可以解决该问题的解决方案是否实际上是最佳做法?
谢谢。