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

Gradle构建Java库:如何让运行时使用消费者的高版本commons-lang3?

Gradle配置方案

要实现编译时指定commons-lang3 1.0.1版本确保编译通过,同时让运行时优先使用使用者引入的更高版本,只需在build.gradle中用compileOnly声明该依赖即可:

Groovy DSL 配置

dependencies {
    // 仅编译阶段依赖commons-lang3 1.0.1,不传递给下游项目
    compileOnly 'org.apache.commons:commons-lang3:1.0.1'
}

Kotlin DSL 配置

dependencies {
    compileOnly("org.apache.commons:commons-lang3:1.0.1")
}

原理说明

  • compileOnly 依赖仅参与编译过程,不会被包含在你的库的发布元数据(如POM文件)中,也不会被打包到库的JAR产物里。
  • 当使用者的项目引入更高版本的commons-lang3时,该版本会自动成为运行时的实际依赖,完全覆盖你编译时使用的1.0.1版本。

注意事项

你需要确保自己的代码基于1.0.1版本的API编写,同时兼容更高版本的API(比如避免调用已被废弃或移除的方法),否则运行时可能出现NoSuchMethodError或ClassNotFoundException这类兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:05:54