如何通过swagger-codegen-maven-plugin在pom中生成maven-jar-plugin 3.1.2版本
How to generate maven-jar-plugin 3.1.2 version in pom by swagger-codegen-maven-plugin
我正在使用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>
Swagger Codegen 的输出基于 Mustache 模板。例如,Java 客户端 + jersey2
库的 pom.xml
模板可在此处获得:
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache
Swagger Codegen 允许您使用自定义模板覆盖 built-in 模板。您可以按如下方式执行此操作:
在您的项目中创建一个文件夹(例如,codegen-templates
)。
将 pom.mustache
模板从此 link 下载到该文件夹。
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
中,在 <templateDirectory>
参数中指定 codegen-templates
文件夹的路径:
<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.mustache
模板生成 pom.xml
。
我正在使用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>
Swagger Codegen 的输出基于 Mustache 模板。例如,Java 客户端 + jersey2
库的 pom.xml
模板可在此处获得:
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/main/resources/Java/libraries/jersey2/pom.mustache
Swagger Codegen 允许您使用自定义模板覆盖 built-in 模板。您可以按如下方式执行此操作:
在您的项目中创建一个文件夹(例如,
codegen-templates
)。将
pom.mustache
模板从此 link 下载到该文件夹。
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
中,在<templateDirectory>
参数中指定codegen-templates
文件夹的路径:<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.mustache
模板生成 pom.xml
。