gradle - 如何在 openApiGenerate 中禁用 OpenAPI2SpringBoot 类生成

标签 gradle build.gradle openapi gradle-plugin openapi-generator

以下是我的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"
    ]
}

这可能会产生意想不到的副作用,因此另一种选择是按照 Spring Boot Gradle plugin docs 中的说明配置主类:

tasks {
    bootJar {
        mainClassName = 'com.base.Application'
    }
}

关于gradle - 如何在 openApiGenerate 中禁用 OpenAPI2SpringBoot 类生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66816937/

相关文章:

Python Klein + OAS (Open API) Swagger 类集成

Android - 任务 :app:mergeDexRelease FAILED

android - Google Play 64位要求Gamemaker Studio

gradle - 如何在Gradle中独立运行单个groovy类文件?

java - 如何在 build.gradle 文件上实现 intelliJ 插件操作?

recursion - 如何在 OpenAPI/Swagger 中递归引用封闭类型定义?

android - R8 说类型被多次定义 : in build\. 转换和在 build\tmp\kotlin-classes

android - 如何在 Android 中将外部 jar 文件包含到 aar 文件中

docker - 如何将报告测试写入控制台

yaml - 如何在swagger属性中添加多个示例值?