我使用swagger codegen maven插件生成一个完整的maven项目(带有自己的pom.xml)。它将项目输出到generated-sources / swagger /目录。但是,此目录中的java源代码是针对驻留在我的生成器项目的pom.xml中的依赖项进行编译的,而不是针对生成的依赖项。
这样的配置是否可行?我已经阅读过有关maven antlr4和构建帮助程序插件的内容,但它们似乎并不适用于此目的。
答案 0 :(得分:0)
使用 openapi-generator-maven-plugin 生成源码。比 maven-invoker-plugin 构建和测试生成的源代码。
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>swagger.yaml</inputSpec>
<generatorName>java</generatorName>
<skipValidateSpec>true</skipValidateSpec>
<output>${project.build.directory}/generated-sources/openapi</output>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>${maven-invoker-plugin.version}</version>
<configuration>
<pom>${project.build.directory}/generated-sources/openapi/pom.xml</pom>
</configuration>
<executions>
<execution>
<phase>process-sources</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>