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