当前位置: 首页 > 知识库问答 >
问题:

Gradle预编译脚本插件:找不到外部Quarkus插件依赖项

易品
2023-03-14

背景

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

我意识到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}")
}
quarkusPluginVersion=2.3.0.Final
plugins {
    id("quarkus-conventions")
}
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

共有1个答案

宗冠宇
2023-03-14

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

// https://mvnrepository.com/artifact/io.quarkus/quarkus-universe-bom
implementation("io.quarkus:quarkus-universe-bom:2.2.3.Final")
 类似资料:
  • 我已经尝试重新启动我的node_dependencies并再次运行,但我不确定还可以尝试什么 编辑:我已经验证了我的node_dependencies目录和插件目录在那里。

  • 当我运行类似-的任何Gradle任务时,它都会失败,并出现错误- 但是,如果我在项目的主文件中定义相同的配置和插件,它就可以正常工作。 我已经花了3-4个小时调试它,阅读了各种文章、博客和文档- https://plugins.gradle.org/plugin/com.jfrog.artifactory 用ArtiFactory分级 https://github.com/gradle/gradl

  • 我想创建一个自动应用其他插件(外部插件)的插件。这需要在调用“apply plugin”之前设置插件的buildscript依赖项。然而,我似乎无法在插件中添加buildscript依赖项,或者我得到:您无法更改未处于未解析状态的配置! 有解决办法吗? 我的示例(非工作)代码:

  • 我尝试使用Kotlin脚本将我的一个项目迁移到Gradle。 以下是我的步骤: 用这个替换 将gradle/包装器/gradle-wrapper.properties的更新为与此处相同 创建了相应的 设置到 此时Intellij检测到它并建议: 您可以将Gradle包装器配置为对源使用分发。它将为IDE提供Gradle API/DSL留档。 - gradle'hello-kotlin'项目刷新失败

  • 我试图用生成一个由多个子模块组成的项目的Java-API文档,但它不起作用,而起作用,它解决了所有依赖项,并成功编译<代码>mvn站点既不解析父pom文件(包括easymock)中所有子模块继承的依赖项,也不解析特定于某些子模块(包括SWT)的依赖项。 我获得以下错误消息:[ERROR]未能执行目标org.apache.maven.plugins:maven-site-plugin:3.7.1:站

  • 依赖 AdminLTE 依赖两个主要的框架。下载的软件包中已经包含这两个库,因此你不必手动下载它们。 Bootstrap 4 jQuery 3.3.1+ Popper.js 1.14.7+ 下面列出了所有其他插件 插件 AdminLTE 使用以下插件。相关文档,更新或许可证信息,请访问提供的链接。 你需要手动加载插件的 js/css 文件。 AdminLTE 不会自动加载所有插件,这会造成页面加载