我正在用swagger-codgen-cli.jar生成一个安静的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吗?
答案 0 :(得分:3)
如果我正确地理解了你需要什么,你想要动态地生成你的存根类。那么为什么不使用swagger-codegen-maven-plugin来生成存根类呢?
如使用部分所述,只需添加到build->插件部分(默认阶段为generate-sources阶段)
<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>
如果您想从程序中执行命令,可以使用Runtime.getRuntime().exec()
或Runtime.getRuntime().exec() alternatives