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

Gradle主项目与子项目使用不同Java版本构建时的依赖冲突问题求助

Gradle主项目与子项目使用不同Java版本构建时的依赖冲突问题求助

我在使用不同Java版本构建项目时遇到了Gradle相关问题。主项目的Gradle文件中配置为使用Java 21:

java {
    sourceCompatibility = JavaVersion.VERSION_21
}

现在我创建了一个名为“models”的模块,这个模块需要编译为Java 11。该模块既作为主项目的依赖,也需要导出为一个基于Java 11编译的Jar库。

“models”模块的Java版本配置如下:

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

kotlin {
    compilerOptions {
        jvmTarget = JvmTarget.JVM_11
    }
}

由于不同的Java版本配置,我遇到了如下错误:

Could not resolve all dependencies for configuration ':runtimeClasspath'.
Could not resolve project :models. Required by: root project :
No matching variant of project :models was found. The consumer was configured to find a library for use during runtime, compatible with Java 21, packaged as a jar, preferably optimized for standard JVMs, and its dependencies declared externally, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' but:

  • No variants exist

我原本以为在子模块中使用更低版本的Java不会有兼容性问题,但Gradle对Java版本要求很严格,似乎要求根项目和子项目使用相同的Java版本。我希望找到一种方法,要么禁用这个限制,要么以某种方式指定两个版本完全兼容。

备注:内容来源于stack exchange,提问作者Victor Manuel Pineda Murcia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 10:38:01