我正在使用swagger-codegen-maven-plugin 2.4.7版本生成项目。它生成maven-jar-plugin 2.6版本,但我需要3.1.2版本。
是否可以生成自定义插件版本?
生成的pom.xml:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <executions> <execution> <goals> <goal>jar</goal> <goal>test-jar</goal> </goals> </execution> </executions> <configuration> </configuration> </plugin>
需要pom.xml:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.2</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> <configuration> </configuration> </plugin>
答案 0 :(得分:0)
Swagger Codegen的输出基于Mustache模板。例如,可以在此处使用Java客户端的pom.xml
模板+ jersey2
库:
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache
Swagger Codegen可让您使用自定义模板覆盖内置模板。您可以按照以下步骤进行操作:
在项目中创建一个文件夹(例如codegen-templates
)。
从此链接下载pom.mustache
模板到该文件夹。
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache
根据需要编辑下载的pom.mustache
并更新maven-jar-plugin
的版本和配置。
在您的pom.xml
中,在codegen-templates
参数中指定<templateDirectory>
文件夹的路径:
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.7</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>https://petstore.swagger.io/v2/swagger.yaml</inputSpec>
<language>java</language>
<library>jersey2</library>
<!-- The folder containing your custom pom.mustache -->
<templateDirectory>${project.basedir}/codegen-templates</templateDirectory>
</configuration>
</execution>
</executions>
</plugin>
现在Swagger Codegen将基于您的自定义pom.xml
模板生成pom.mustache
。