Gradle multi project和quarkus给出了一个;预期主资源只包含一个文件,但它包含多个文件;

Gradle multi project和quarkus给出了一个;预期主资源只包含一个文件,但它包含多个文件;,gradle,quarkus,Gradle,Quarkus,我正试图让quarkus使用来自swagger code gen的服务器存根-如果我注释掉服务器存根,一切正常-但一旦我添加依赖项,它就会中断 我得到的错误是:“预期主资源只包含一个文件,但它包含多个文件。” 以下是我的三个gradle文件: settings.gradle: pluginManagement { repositories { mavenLocal() mavenCentral() gradlePluginPortal()

我正试图让quarkus使用来自swagger code gen的服务器存根-如果我注释掉服务器存根,一切正常-但一旦我添加依赖项,它就会中断

我得到的错误是:“预期主资源只包含一个文件,但它包含多个文件。”

以下是我的三个gradle文件:

settings.gradle:

pluginManagement {
    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    plugins {
        id "${quarkusPluginId}" version "${quarkusPluginVersion}"
    }
}

rootProject.name = 'mini-service'
include 'endpoints'
include 'app'
(端点)build.gradle:

plugins {
    id 'java'
    id 'org.hidetake.swagger.generator' version '2.18.2'
}

repositories {
    jcenter()
}

dependencies {
    swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.23'
    compileOnly 'javax.annotation:javax.annotation-api:1.2'
    compileOnly 'javax.servlet:servlet-api:2.5'
    compileOnly 'javax:javaee-api:7.0'
    compileOnly 'org.jboss.resteasy:resteasy-jackson2-provider:3.0.11.Final'
    compile 'io.swagger.core.v3:swagger-annotations:2.0.9'
}

swaggerSources {
    petstore {
        inputFile = file('petstore.yaml')
        code {
            language = 'jaxrs-resteasy'
        }
    }
}

compileJava.dependsOn swaggerSources.petstore.code
sourceSets.main.java.srcDir "${swaggerSources.petstore.code.outputDir}/src/gen/java"
sourceSets.main.resources.srcDir "${swaggerSources.petstore.code.outputDir}/src/gen/resources"

group 'uk.co.landbay'
version '1.0-SNAPSHOT'

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}
最后是quarkus应用程序build.gradle

plugins {
    id 'org.jetbrains.kotlin.jvm' version "1.3.72"
    id "org.jetbrains.kotlin.plugin.allopen" version "1.3.72"
    id 'io.quarkus'
}

repositories {
    mavenLocal()
    mavenCentral()
}

dependencies {
    implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
    implementation 'io.quarkus:quarkus-smallrye-reactive-messaging-amqp'
    implementation 'io.quarkus:quarkus-config-yaml'
    implementation 'io.quarkus:quarkus-kotlin'
    implementation 'io.quarkus:quarkus-resteasy'
    implementation 'io.quarkus:quarkus-resteasy-jackson'
    implementation 'io.quarkus:quarkus-logging-json'
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
    implementation 'io.quarkus:quarkus-arc'

    implementation project(':endpoints')

    testImplementation 'io.quarkus:quarkus-junit5'
    testImplementation 'io.rest-assured:rest-assured'
}


group 'uk.co.landbay'
version '1.0-SNAPSHOT'

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

allOpen {
    annotation("javax.ws.rs.Path")
    annotation("javax.enterprise.context.ApplicationScoped")
    annotation("io.quarkus.test.junit.QuarkusTest")
}

compileKotlin {
    kotlinOptions.jvmTarget = JavaVersion.VERSION_11
    kotlinOptions.javaParameters = true
}

compileTestKotlin {
    kotlinOptions.jvmTarget = JavaVersion.VERSION_11
}
毫无疑问,在某一点上有很多依赖性问题需要解决-但现在我只是尝试构建quarkus应用程序-我得到以下错误“预期主资源只包含一个文件,但它包含多个文件。”但不确定“多个”资源文件来自何处

其他说明:

  • 注释掉依赖项(实现项目(':endpoints'))没有帮助
  • 移除子项目确实有帮助-例如,如果gradle不知道其他子模块,quarkus构建良好
  • 来自的JAR文件 :端点确实构建良好-但不确定它是否与
  • 删除依赖项无助于构建
  • 这是我得到的堆栈策略:

    原因:java.lang.IllegalStateException:预期主资源只包含一个文件,但它包含多个文件。 位于org.gradle.api.internal.file.AbstractFileCollection.getSingleFile(AbstractFileCollection.java:105) 位于io.quarkus.gradle.builder.QuarkusModelBuilder.GetSourceSet(QuarkusModelBuilder.java:418) 位于io.quarkus.gradle.builder.QuarkusModelBuilder.getWorkspaceModule(QuarkusModelBuilder.java:211)


    你最终解决了吗?你最终解决了吗?