当前位置: 首页 > 知识库问答 >
问题:

如何从swagger codegen maven插件中运行才生成目标

通寂离
2023-03-14

我正在使用swagger codegen maven插件从swagger规范生成服务器存根。如果我运行MVN compile,那么它将正确生成并编译项目。然而,有时我只想运行迸发。

具体地说,我希望避免编译整个项目和运行另一个在验证阶段运行的插件(checkstyles)。理想情况下,我希望从swagger规范生成生成的类,并编译这些类,而不是整个项目。

mvn swagger-codegen-maven-plugin:generate
mvn swagger-codegen:generate
mvn swagger:generate
mvn codegen:generate

在当前项目中和从存储库中可用的插件组[org.apache.maven.plugins,org.codehaus.mojo]中没有找到前缀为“codegen”的插件

我还读到可以使用“groupid:artificatid:version_goal”,所以我尝试了:

mvn io.swagger:swagger-codegen-maven-plugin:2.4.0-SNAPSHOT:generate

这似乎更进一步,但给出了一个错误

  1. 我是否可以实现我想要的目标(从规范中生成代码,只编译该代码,而不编译整个项目)?
  2. 如何查找用于“prefix:goal”语法的“前缀”?

我最接近的是runmvn generate-sources-dcheckstyle.skip=true。这会生成,但我不认为它会编译生成的类。因此,我必须清理Eclipse中的项目,以触发它重新编译。

共有1个答案

钱星华
2023-03-14

插件的前缀应该在这个文件中:“swagger-maven-plugin-2.3.1.jar/meta-inf/maven/com.github.kongchen/swagger-maven-plugin/plugin-help.xml”。

    <plugin>
        <name>Swagger Maven Plugin</name>
        ...
        <goalPrefix>swagger</goalPrefix>
        ...
 类似资料: