org.gradle.util.VersionNumber的替代方案 Gradle7.3弃用后使用方法问询
Gradle VersionNumber 类废弃相关问题解答
类功能去向
org.gradle.util.VersionNumber的功能没有被直接移除,核心实现被迁移到了Gradle的内部API包路径org.gradle.util.internal.VersionNumber下。你贴出的7.3版本中的代码就是过渡阶段的兼容存根,仅为了保障旧插件的二进制兼容性存在,Gradle 8.0及以上版本已经彻底删除了org.gradle.util包下的这个公开类。
特别提醒:内部包下的
VersionNumber属于Gradle非公开API,官方不保障跨版本兼容性,直接依赖可能导致插件在不同Gradle版本下运行报错。
版本号处理能力的替代实现
如果需要版本号解析、比对等相关能力,可以选择以下两种稳定方案:
- 优先使用Gradle公开API完成相关需求:可以用
org.gradle.api.artifacts.VersionConstraint、org.gradle.api.artifacts.ModuleVersionIdentifier等公开类内置的版本比对、校验逻辑,完全符合Gradle的版本匹配规则。 - 引入独立的第三方版本处理库:比如semver4j、Apache Commons Lang的
Version工具类,完全不依赖Gradle内部实现,兼容性最好,适合需要适配多个Gradle版本的插件使用。
内容的提问来源于stack exchange,提问作者tribbloid
相关产品推荐
相关产品推荐

