首页 > 解决方案 > Plugin [id: 'org.jetbrains.kotlin.plugin.spring'] 在 buildSrc 目录下的 .gradle.kts 文件中定义插件时找不到错误

问题描述

我正在尝试为多模块 Kotlin 应用程序创建插件,例如使用 Gradle 6.8.1 可以更轻松地在多个模块(核心、模型、lib、应用程序)之间共享构建配置。

在根项目目录下,gradle init执行并输入以下选项。

选项 选择
类型 应用
科特林
多个子项目 是的
构建脚本 DSL 科特林

.gradle.kts目录下生成以下文件buildSrc/src/main/kotlin

由于我将使用 Spring Boot 功能,因此我正在尝试添加几个插件,my.package.kotlin-library-conventions.gradle.kts这些插件将被 lib 和 app 模块使用。

plugins {
    id("my.package.kotlin-common-conventions")

    // new plugins
    kotlin("plugin.spring")
    id("org.springframework.boot")
    id("io.spring.dependency-management")

    `java-library`
}

当我执行gradle build时,返回以下错误。

Plugin [id: 'org.jetbrains.kotlin.plugin.spring'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (plugin dependency must include a version number for this source)

我尝试编辑以下文件中的内容,但仍然无法解决上述错误。

settings.gradle.kts

pluginManagement {

    repositories {
        jcenter()
        gradlePluginPortal()
        maven { url = uri("https://repo.spring.io/milestone") }
        maven { url = uri("https://repo.spring.io/snapshot") }
    }

    plugins {
        kotlin("jvm") version "1.4.21-2"
        kotlin("plugin.spring") version "1.4.21-2"
        id("org.springframework.boot") version "2.5.0-SNAPSHOT"
        id("io.spring.dependency-management") version "1.0.11.RELEASE"
    }
}

buildSrc/build.gradle.kts

plugins {
    `kotlin-dsl`

    kotlin("plugin.spring")
    id("org.springframework.boot")
    id("io.spring.dependency-management")
}

repositories {
    gradlePluginPortal()

    jcenter()
    maven { url = uri("https://repo.spring.io/milestone") }
    maven { url = uri("https://repo.spring.io/snapshot") }
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-gradle-plugin")
}

标签: kotlingradle

解决方案


推荐阅读