如何解决如何在 openApiGenerate 中禁用 OpenAPI2SpringBoot 类生成
以下是我的 build.gradle 配置
plugins {
id 'java'
id 'maven-publish'
id 'org.springframework.boot' version '2.3.9.RELEASE'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id "org.openapi.generator" version "5.1.0"
}
openApiGenerate {
generatorName = "spring"
inputSpec = "${project.rootDir}/spec/swagger.json".toString()
outputDir = "${project.buildDir}/generate-sources".toString()
invokerPackage = "com.base"
apiPackage = "com.base.controllers"
modelPackage = "com.base.models"
generateModelTests = false
generateApiTests = false
configOptions = [
dateLibrary: "java8"
]
}
sourceSets {
main {
java {
srcDir(files("${openApiGenerate.outputDir.get()}/src/main"))
}
}
}
compileJava.dependsOn tasks.openApiGenerate
因为,它生成 OpenAPI2SpringBoot 类,因为我收到错误
Execution failed for task ':bootJar'.
> Unable to find a single main class from the following candidates [com.base.OpenAPI2SpringBoot,com.base.Application]
我有单独的主类,如何避免生成 OpenAPI2SpringBoot 类?
解决方法
你有两个选择。
要禁用 OpenAPI2SpringBoot.java
,您必须将 interfaceOnly
指定为 true
:
openApiGenerate {
configOptions = [
interfaceOnly: "true"
]
}
- https://github.com/OpenAPITools/openapi-generator/blob/v5.1.0/docs/generators/spring.md
- https://github.com/OpenAPITools/openapi-generator/blob/v5.1.0/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java#L360...L363
这可能会产生意想不到的副作用,因此另一种选择是按照 Spring Boot Gradle plugin docs 中的说明配置主类:
tasks {
bootJar {
mainClassName = 'com.base.Application'
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。