Я использую swagger-codegen-maven-plugin в моем pom для генерации клиента. Вот моя информация о плагине:
<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 / generate-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>
Я не считаю, что это лучшая практика, так как я должен сам указать версию, не зная фактической версии, использованной источником.
Мой вопрос: каков наилучший способ генерации клиента с использованием maven, когда есть пакеты, которые не могут быть разрешены с помощью swagger-codegen-plugin? В качестве альтернативы, пожалуйста, сообщите, является ли решение, которое я нашел для преодоления этой проблемы, на самом деле наилучшей практикой в этом сценарии?
Спасибо.