Java 如何以编程方式调用swagger codegen?

Java 如何以编程方式调用swagger codegen?,java,rest,jax-rs,swagger,Java,Rest,Jax Rs,Swagger,我正在使用swagger codgen cli.jar生成一个restful java jax rs api。 现在,我使用一些命令行选项调用java-jar来实现这一点 java -jar swagger-codegen-cli.jar generate -i api.yaml -l jaxrs -o ./outputdir 这很好用 但是我想从一个Java程序中调用这个函数,也就是说,将codegen.jar包含到我的类路径中,然后用类似的参数调用相应的方法 那么,我可以调用swagger

我正在使用swagger codgen cli.jar生成一个restful java jax rs api。
现在,我使用一些命令行选项调用java-jar来实现这一点

java -jar swagger-codegen-cli.jar generate -i api.yaml -l jaxrs -o ./outputdir
这很好用

但是我想从一个Java程序中调用这个函数,也就是说,将codegen.jar包含到我的类路径中,然后用类似的参数调用相应的方法


那么,我可以调用swagger codegen模块中的公共API吗?

如果我正确理解您的需要,您希望以友好的方式生成存根类。那么为什么不使用生成存根类呢

如使用部分所述,只需添加到构建->插件部分(默认阶段为生成源代码阶段)


com.garethevans.plugin

您是否使用Maven构建应用程序?Atm我使用Maven构建swagger codegen,根据如何使用swagger,我可能有多个选项(Maven、ant),我需要阅读有关此插件的信息。(现在从我的普通帐户写入,不知何故我的登录被弄乱了…)下一步是动态生成API是的。但也许你误解了我的问题。如果我正确理解这个插件,它是maven的swaggers命令行选项的包装器?但你的最终目标是什么?是否创建存根?目标是:一个java程序,它像命令行一样运行swagger代码生成器。Sthg-like-swaggergen=新的SwaggerGenerator();gen.setLanguage(“jax-rs”);gen.setYaml(“…”)gen.generateApi(),这意味着从yaml或json api描述生成目标语言(在本例中为java jax rs)java源文件。。。创建的存根
<plugin>
    <groupId>com.garethevans.plugin</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>${project.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>src/main/resources/api.yaml</inputSpec>
                <language>java</language>
            </configuration>
        </execution>
    </executions>
</plugin>