我正在使用 Swagger (OpenAPI) 来设计和实现 API。我已经有一个功能性的 swagger.yml 和一个 Maven 项目集来基于它构建文档、服务器和客户端。
在目录swagger-codegen-maven-plugin
中生成抽象类和实现类/target/generated-sources/swagger
。我应该用我自己的覆盖实现类,所以我将实现类的初始版本移动到/src/main/java
目录中。
移动类后,我的构建正确完成,但如果我这样做,mvn clean compile
我会因为构建中有重复的类而出错。
发生的情况是,每次我进行干净的构建时,swagger-codegen-maven-plugin
都会重新生成所有代码,包括我正在重写的类。
swagger-codegen-maven-plugin
创建一个.swagger-codegen-ignore
我应该列出我不希望它生成的文件的位置,但它似乎不起作用(我使用的是插件的 2.2.2-SNAPSHOT 版本)。
#.swagger-codegen-ignore
OrcamentoApiServiceImpl.java
PropostaApiServiceImpl.java
作为一种解决方法,我试图maven-compiler-plugin
排除生成的文件版本,以便只有我修改后的实现将用于编译,但它也不起作用。这是我正在使用的配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<excludes>
<exclude>OrcamentoApiServiceImpl.java</exclude>
<exclude>PropostaApiServiceImpl.java</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
我怎样才能maven-compiler-plugin
忽略 swagger Maven 插件生成的文件版本,只考虑我的?
或者:您能否提出替代解决方案,或者如何swagger-codegen-maven-plugin
考虑.swagger-codegen-ignore
?