在Windows机器上的gradle项目中,我想从openapi规范中生成Java代码。但是,我不知道如何指定inputSpec参数。为了简单起见,我描述了验证任务,因为问题也会出现。
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
我以为我可能弄错了这条路,所以我故意在里面加了一个错误。
inputSpec = "src/main/resources/api/openapi.WRONG"但这导致了另一种例外
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.如果使用
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
下一次审判有一个绝对的途径:
inputSpec = "/c/dev/myProject/src/main/resources/api/openapi.yaml"同样,它也失败了,有些地方不一样:
> File 'C:\dev\myProject\c\dev\myProject\src\main\resources\api\openapi.yaml' specified for property 'inputSpec' does not exist. 注意,有些路径部件在那里被复制。
我试着在git和Intellij内部运行gradle (gradlew,准确地说),没有什么不同。
知道怎么解决这个问题吗?
发布于 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设置路径的方法,这样:
inputSpec.set((new File("${projectDir}/src/main/resources/api/openapi.yml")).toString());https://stackoverflow.com/questions/74489893
复制相似问题