You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle多项目中Kotlin JVM插件版本冲突问题求助

解决Gradle多项目中Kotlin JVM插件版本冲突问题

核心问题原因

你的Android主项目project_android的类路径中已经间接引入了org.jetbrains.kotlin.jvm插件的版本(通常是com.android.application/com.android.library插件或org.jetbrains.kotlin.android插件自动依赖带入的),因此作为子模块的project_lib不能再指定插件版本;但project_lib作为独立仓库单独构建时,没有父项目的类路径依赖,必须显式指定版本才能构建。

解决方案

方案1:用pluginManagement统一管理插件版本

在project_lib的根目录创建/修改settings.gradle.kts(Groovy则用settings.gradle),配置插件版本管理,让单独构建时能获取版本,作为子模块时继承父项目配置:

KTS版本(settings.gradle.kts)

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
    plugins {
        val kotlinVersion = "1.9.20" // 替换为你实际使用的Kotlin版本
        id("org.jetbrains.kotlin.jvm") version kotlinVersion apply false
    }
}

对应的project_lib build.gradle.kts

plugins {
    id("org.jetbrains.kotlin.jvm") // 不再指定版本
}

Groovy版本(settings.gradle)

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
    plugins {
        def kotlinVersion = '1.9.20'
        id 'org.jetbrains.kotlin.jvm' version kotlinVersion apply false
    }
}

对应的project_lib build.gradle

plugins {
    id 'org.jetbrains.kotlin.jvm'
}

方案2:通过条件判断动态指定版本

在project_lib的构建脚本中,判断当前是否为独立构建(无父项目),仅在独立构建时指定插件版本:

Groovy版本(build.gradle)

plugins {
    if (!parent) {
        id 'org.jetbrains.kotlin.jvm' version '1.9.20'
    } else {
        id 'org.jetbrains.kotlin.jvm'
    }
}

KTS版本(build.gradle.kts)

plugins {
    if (project.parent == null) {
        id("org.jetbrains.kotlin.jvm") version "1.9.20"
    } else {
        id("org.jetbrains.kotlin.jvm")
    }
}

方案3:排查主项目中插件的间接来源

如果想确认主项目中kotlin-jvm插件的来源,可在project_android根目录执行以下命令,查看类路径中的插件依赖:

./gradlew dependencies --configuration classpath

搜索org.jetbrains.kotlin:kotlin-gradle-plugin相关条目,就能找到插件的引入路径,确保project_lib单独构建时使用的版本与主项目一致,避免潜在的版本不兼容问题。

内容的提问来源于stack exchange,提问作者iH8WorkingWith.NetGraphics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:54:22