小编ooy*_*478的帖子

为 Gradle 子项目配置 Kotlin 扩展

我正在为 JVM 设置一个基于 Kotlin 的多模块 Gradle 项目。由于根项目不包含任何代码,因此 Kotlin 插件只能应用于子项目。

build.gradle.kts(根项目)

plugins {
    kotlin("jvm") version "1.6.20" apply false
}

subprojects {
    apply(plugin = "kotlin")

    group = "com.example"

    repositories {
        mavenCentral()
    }

    dependencies {}

    kotlin {
        jvmToolchain {
            check(this is JavaToolchainSpec)
            languageVersion.set(JavaLanguageVersion.of(11))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

尝试设置工具链会导致构建在kotlin {...}扩展处失败:

Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
public fun DependencyHandler.kotlin(module: String, version: String? = ...): Any defined in org.gradle.kotlin.dsl
public fun PluginDependenciesSpec.kotlin(module: String): PluginDependencySpec defined …
Run Code Online (Sandbox Code Playgroud)

gradle kotlin gradle-kotlin-dsl gradle-multi-project-build kotlin-gradle-plugin

12
推荐指数
1
解决办法
8446
查看次数