我正在使用 swagger codegen maven 插件生成一个完整的 maven 项目(带有自己的 pom.xml)。它将项目输出到 generated-sources/swagger/ 目录。但是,此目录中的 java 源代码是针对驻留在我的生成器项目的 pom.xml 中的依赖项编译的,而不是针对生成的依赖项编译的。
这样的配置可能吗?我已经阅读了有关 maven antlr4 和构建辅助插件的信息,但它们似乎对此没有用处。
我正在使用 swagger codegen maven 插件生成一个完整的 maven 项目(带有自己的 pom.xml)。它将项目输出到 generated-sources/swagger/ 目录。但是,此目录中的 java 源代码是针对驻留在我的生成器项目的 pom.xml 中的依赖项编译的,而不是针对生成的依赖项编译的。
这样的配置可能吗?我已经阅读了有关 maven antlr4 和构建辅助插件的信息,但它们似乎对此没有用处。
使用 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>