首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows环境下openapi生成器级插件的inputSpec定义问题

Windows环境下openapi生成器级插件的inputSpec定义问题
EN

Stack Overflow用户
提问于 2022-11-18 12:45:18
回答 1查看 24关注 0票数 0

在Windows机器上的gradle项目中,我想从openapi规范中生成Java代码。但是,我不知道如何指定inputSpec参数。为了简单起见,我描述了验证任务,因为问题也会出现。

代码语言:javascript
运行
复制
plugins {
    ...
    id "org.openapi.generator" version "6.2.1"
    ...
}

openApiValidate {
    inputSpec = "src/main/resources/api/openapi.yaml"
}

导致Caused by: java.lang.RuntimeException: Could not find src/main/resources/api/openapi.yaml on the classpath

我以为我可能弄错了这条路,所以我故意在里面加了一个错误。

代码语言:javascript
运行
复制
inputSpec = "src/main/resources/api/openapi.WRONG"

但这导致了另一种例外

代码语言:javascript
运行
复制
A problem was found with the configuration of task ':publisher-service:openApiValidate' (type 'ValidateTask').
> File 'C:\dev\myProject\src\main\resources\api\openapi.WRONG' specified for property 'inputSpec' does not exist.

如果使用

代码语言:javascript
运行
复制
inputSpec = "$projectDir/src/main/resources/api/openapi.yaml"

相反,它说java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\dev\myProject/src/main/resources/api/openapi.yaml

下一次审判有一个绝对的途径:

代码语言:javascript
运行
复制
inputSpec = "/c/dev/myProject/src/main/resources/api/openapi.yaml"

同样,它也失败了,有些地方不一样:

代码语言:javascript
运行
复制
> File 'C:\dev\myProject\c\dev\myProject\src\main\resources\api\openapi.yaml' specified for property 'inputSpec' does not exist. 

注意,有些路径部件在那里被复制。

我试着在git和Intellij内部运行gradle (gradlew,准确地说),没有什么不同。

知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-21 10:11:39

它似乎与6.2.1版的org.openapi.generator Gradle插件有关。我向gitlab提交了一份bug报告:

https://github.com/OpenAPITools/openapi-generator/issues/14075

--我终于找到了一种用6.2.1设置路径的方法,这样:

代码语言:javascript
运行
复制
inputSpec.set((new File("${projectDir}/src/main/resources/api/openapi.yml")).toString());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74489893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档