【问题标题】:Gradle precompiled script plugin: External Quarkus plugin dependency not foundGradle 预编译脚本插件:未找到外部 Quarkus 插件依赖项
【发布时间】:2021-11-27 01:14:22
【问题描述】:

背景

我目前正在开发一个带有多个 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.Finalio.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

【问题讨论】:

    标签: gradle quarkus gradle-kotlin-dsl gradle-multi-project-build kotlin-gradle-plugin


    【解决方案1】:

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

    // https://mvnrepository.com/artifact/io.quarkus/quarkus-universe-bom
    implementation("io.quarkus:quarkus-universe-bom:2.2.3.Final")
    

    【讨论】:

    • 感谢您抽出宝贵时间进行调查。我不得不承认,我不确定你的意思到底是什么。是 gradle 在给定的存储库中找不到源吗?或者 io.quarkus gradle 插件是否以某种方式难以与 java 源一起工作?在外部库文件夹(我使用 intellij)中,我可以看到源代码已下载。我意识到“gradle.plugin.io.quarkus:quarkus-gradle-plugin:2.2.3.Final”和“io.quarkus:gradle-application-plugin:2.2.3.Final”之间可能存在差异,但是交换依赖关系没有多大帮助。
    【解决方案2】:

    这是一个应该在 quarkus 发布版本 2.4.CR1 中修复的错误

    查看 Github 问题

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

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 2015-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多