лучшие практики swagger-codegen-maven-plugin - PullRequest
0 голосов
/ 17 октября 2019

Я использую 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? В качестве альтернативы, пожалуйста, сообщите, является ли решение, которое я нашел для преодоления этой проблемы, на самом деле наилучшей практикой в ​​этом сценарии?

Спасибо.

...