2

我正在使用 swagger codegen maven 插件生成一个完整的 maven 项目(带有自己的 pom.xml)。它将项目输出到 generated-sources/swagger/ 目录。但是,此目录中的 java 源代码是针对驻留在我的生成器项目的 pom.xml 中的依赖项编译的,而不是针对生成的依赖项编译的。

这样的配置可能吗?我已经阅读了有关 maven antlr4 和构建辅助插件的信息,但它们似乎对此没有用处。

4

1 回答 1

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>
于 2021-03-06T05:00:56.457 回答