0

背景

我目前正在开发一个带有多个 quarkus 微服务的 gradle 多项目。为了捆绑我的 quarkus 依赖项,我使用预编译脚本插件和kotlin-dsl. 鉴于以下配置,执行quarkusBuild工作正常。

问题

执行quarkusDev微服务子项目的任务失败

Unable to find quarkus-gradle-plugin dependency in project ':microservice'

你知道为什么会这样吗?我已经为此投入了几个小时,但我仍然不明白它为什么会失败。https://github.com/quarkusio/quarkus/issues/12509似乎是相关的,但建议的解决方案对我不起作用。任何帮助是极大的赞赏!

编辑

gradle.plugin.io.quarkus:quarkus-gradle-plugin:2.2.3.Final我意识到and之间可能存在差异io.quarkus:gradle-application-plugin:2.2.3.Final,但是交换依赖项并没有多大帮助。

配置

这是我的项目的最小版本,它允许重现错误。

这个最小的例子也可以在这里查看:https ://github.com/lorenzjosten/gradle-plugin-quarkus

rootProject
    - buildSrc
          - src/main/kotlin
                quarkus-conventions.gradle.kts
          build.gradle.kts
          settings.gradle.kts
          gradle.properties
    - microservice
          - src/...
          build.gradle.kts
    build.gradle.kts
    settings.gradle.kts
    gradle.properties

rootProject/buildSrc/src/main/kotlin/quarkus-conventions.gradle.kts

plugins {
    java
    id("io.quarkus")
}

val quarkusUniverseBomVersion: String by project

dependencies {
    implementation(enforcedPlatform("io.quarkus:quarkus-universe-bom:$quarkusUniverseBomVersion"))
    implementation("io.quarkus:quarkus-kotlin")
    implementation("io.quarkus:quarkus-resteasy-reactive")
    implementation("io.quarkus:quarkus-resteasy-reactive-jackson")
    implementation("io.quarkus:quarkus-hibernate-reactive-panache")
    implementation("io.quarkus:quarkus-reactive-pg-client")
    implementation("io.quarkus:quarkus-smallrye-reactive-messaging-amqp")
    implementation("io.quarkus:quarkus-arc")
    testImplementation("io.quarkus:quarkus-junit5")
}

rootProject/buildSrc/build.gradle.kts

val quarkusPluginVersion: String by project

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
    maven("https://plugins.gradle.org/m2/")
    gradlePluginPortal()
}

dependencies {
    implementation("io.quarkus:gradle-application-plugin:${quarkusPluginVersion}")
}

rootProject/buildSrc/gradle.properties

quarkusPluginVersion=2.3.0.Final

rootProject/microservice/build.gradle.kts

plugins {
    id("quarkus-conventions")
}

rootProject/settings.gradle.kts

include("microservice")

rootProject/build.gradle.kts

plugins {
    idea
}

repositories {
    mavenCentral()
    maven("https://plugins.gradle.org/m2/")
    gradlePluginPortal()
}

allprojects {
    apply(plugin = "idea")

    idea {
        module {
            isDownloadSources = true
            isDownloadJavadoc = true
        }
    }
}

rootProject/gradle.properties

quarkusUniverseBomVersion=2.2.3.Final
4

2 回答 2

0

这是一个应该使用 quarkus 发行版 2.4.CR1 修复的错误

查看 Github 问题

https://github.com/quarkusio/quarkus/issues/20595 https://github.com/quarkusio/quarkus/issues/20531

于 2021-10-08T18:52:39.610 回答
0

Gradle 插件可能找不到 Java 依赖项:

// https://mvnrepository.com/artifact/io.quarkus/quarkus-universe-bom
implementation("io.quarkus:quarkus-universe-bom:2.2.3.Final")
于 2021-10-06T22:40:59.743 回答