java - Swagger CodeGen swagger-codegen-cli-3.0.25.jar| 问题:无法加载名称为 jaxrs-jersey 的配置类
问题描述
我正在尝试使用 ProcessBuilder 通过 swagger-codegen-cli-3.0.25.jar 从 java 代码中生成 Swagger Stub。输入是 OAS 3.0.0 有效的 YAML。
我有以下代码:
String javaBin = javaHome + File.separator + "bin" + File.separator + "java";
List<String> command = new ArrayList<>();
command.add(javaBin);
command.add("-jar");
command.add(System.getProperty("user.dir")+"//lib//swagger-codegen-cli-3.0.25.jar");
command.add("generate");
command.add("-l jaxrs-jersey");
command.add("-i " + oasYAML.getAbsolutePath());
command.add("-o D:\\EmailStatement\\swaggercode");
相同的 CLI 命令在 CMD 中运行良好,但在 java 代码中出现以下错误:
Exception in thread "main" java.lang.RuntimeException: Can't load config class with name jaxrs-jersey Available: dart
aspnetcore
csharp
csharp-dotnet2
go
go-server
dynamic-html
html
html2
java
jaxrs-cxf-client
jaxrs-cxf
inflector
jaxrs-cxf-cdi
jaxrs-spec
jaxrs-jersey
jaxrs-di
jaxrs-resteasy-eap
jaxrs-resteasy
micronaut
spring
nodejs-server
openapi
openapi-yaml
kotlin-client
kotlin-server
php
python
python-flask
r
ruby
scala
scala-akka-http-server
swift3
swift4
swift5
typescript-angular
typescript-axios
typescript-fetch
javascript
at io.swagger.codegen.v3.CodegenConfigLoader.forName(CodegenConfigLoader.java:31)
at io.swagger.codegen.v3.cli.SwaggerCodegen.main(SwaggerCodegen.java:96)
Caused by: java.lang.ClassNotFoundException: jaxrs-jersey
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at io.swagger.codegen.v3.CodegenConfigLoader.forName(CodegenConfigLoader.java:29)
解决方案
推荐阅读
- python-3.x - 从抓取的文本中提取非结构化地址和电子邮件 ID 作为变量 - Python
- reactjs - 使用 setState Hook 根据 React JS 中的一组条件更新先前的值
- flutter - 无法在真实设备上调试 Flutter 应用程序在模拟器上运行良好
- spring-boot - 我的休息控制器没有从 URL 调用
- docker - 复制失败 '/target/x86_64-unknown-linux-musl/release/microservice_app: no such file or directory' Rust Dockerfile
- node.js - Socket.io Node Js 服务器和 React js 客户端未连接
- java - Android Volley:BasicNetwork.performRequest:意外响应代码 400
- node.js - 代理错误:无法将请求 /user/update 从 localhost:3000 代理到 http://localhost:5000
- python - 如何在 Tkinter 中将类/窗口从“普通”窗口转换为 Toplevel() 窗口?
- python - Python 缓存工具在多核服务器中共享内存