如何让OpenAPI Generator CLI使用预下载的.jar文件?
解决openapi-generator-cli无法加载本地预下载jar的问题
一、修正openapitools.json配置
别用相对路径或波浪号,直接写绝对路径避免WSL解析异常,版本号必须和你下载的jar完全匹配,示例配置如下:
{ "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", "spaces": 2, "generator-cli": { "version": "6.2.1", "storageDir": "/home/你的用户名/foo" } }
把配置文件放在执行命令的当前目录,或者用户根目录下的~/.openapitools.json(注意前缀的点),确保cli能优先读取到。
二、storageDir的正确文件夹结构(以~/foo为例)
jar文件必须严格放在指定路径,文件名也不能出错:
~/foo/v6.2.1/openapi-generator-cli-6.2.1.jar
- 核心规则:版本号文件夹要加前缀
v,jar文件名必须和maven仓库中的完全一致,格式为openapi-generator-cli-<版本号>.jar
三、处理sudo带来的权限问题
用sudo执行命令时,cli会以root身份运行,此时:
- root不会读取普通用户目录下的
openapitools.json,要么把配置文件复制到/root/.openapitools.json,要么给~/foo目录及jar文件添加全局可读权限:
chmod -R 755 ~/foo
- 另外,npm全局安装的工具通常不需要sudo执行,除非你将npm全局目录设为系统目录,尽量用普通用户身份运行命令。
四、验证jar文件完整性
如果jar文件下载不完整,cli会自动触发重新下载。你可以对比官方提供的SHA256校验值,确认本地jar文件没有损坏。
五、强制跳过远程校验
执行命令时添加--skip-cache参数,强制cli使用本地存储的jar,跳过远程版本检查:
openapi-generator-cli --skip-cache help
内容的提问来源于stack exchange,提问作者Dragomok
相关产品推荐
相关产品推荐

