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

Java项目未引入Kotlin依赖却报CollectionsJDK8Kt重复类编译错误求助

纯Java项目出现Kotlin重复类错误的原因及解决办法

问题根源

你遇到的kotlin.collections.jdk8.CollectionsJDK8Kt重复类错误,核心是项目中被间接引入了多份不同版本的Kotlin标准库——哪怕你没手动添加过Kotlin依赖,也可能通过以下渠道混入:

  • 你引入的第三方Java库中,有部分依赖了Kotlin的stdlib或stdlib-jdk8,不同库依赖的Kotlin版本不一致,导致相同类被重复打包。
  • 若为Android项目,部分版本的Android Gradle插件(AGP)会默认隐式引入Kotlin相关依赖,哪怕你未启用Kotlin插件。
  • Gradle本地缓存残留了旧的Kotlin依赖文件,编译时被误加载引发冲突。

解决步骤

1. 定位重复依赖的来源

在终端执行以下命令生成完整依赖树,找出携带Kotlin依赖的第三方库:

./gradlew dependencies

找到所有包含kotlin-stdlib、kotlin-stdlib-jdk8的条目,在模块的build.gradle中排除重复引入,示例如下:

// 给指定第三方依赖排除Kotlin标准库
implementation('com.example:target-library:2.0.0') {
    exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
    exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
}

2. 强制统一Kotlin版本(若需保留Kotlin依赖)

如果第三方库必须依赖Kotlin,可在项目根目录的build.gradle中统一指定Kotlin版本,避免版本冲突:

allprojects {
    configurations.all {
        resolutionStrategy {
            // 替换为你需要的稳定Kotlin版本,如1.8.22
            force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22'
        }
    }
}

3. 清理Gradle构建缓存

缓存中残留的旧文件可能导致异常,执行以下命令彻底清理后重新构建:

./gradlew clean build --no-build-cache

4. 检查Android插件配置(Android项目专属)

若为Android项目,检查模块的build.gradle,确保未启用不必要的Kotlin插件:

// 注释或删除以下未使用的配置
// apply plugin: 'kotlin-android'
// apply plugin: 'kotlin-android-extensions'

内容的提问来源于stack exchange,提问作者Taki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:54:53