如何在Gradle中添加适配JDK8的HSQLDB 2.7.1替代依赖包?
在Apache Calcite的Gradle项目中配置适配JDK8的HSQLDB 2.7.1
要修复CVE-2022-41853漏洞,需将Calcite项目中的HSQLDB版本升级至2.7.1,但标准HSQLDB 2.7.1仅支持JDK11+,而Calcite基于JDK8开发,因此必须使用带jdk8 classifier的适配包。以下是正确的Gradle配置步骤:
更新版本变量
在项目根目录的gradle.properties文件中,将HSQLDB版本更新为2.7.1:hsqldb.version=2.7.1在依赖声明中指定classifier
直接在gradle.properties里添加:jdk8无法生效,需要在build.gradle(根模块或对应子模块)的依赖块中明确配置classifier,同时强制使用该版本避免依赖冲突:dependencies { implementation("org.hsqldb:hsqldb:${hsqldb.version}") { classifier = 'jdk8' force = true exclude group: 'org.hsqldb', module: 'hsqldb' } }若项目使用依赖管理插件,也可以在依赖管理块中统一配置:
dependencyManagement { dependencies { dependency "org.hsqldb:hsqldb:${hsqldb.version}:jdk8" } }验证配置结果
执行gradle dependencies命令,检查HSQLDB的依赖条目,确认显示为org.hsqldb:hsqldb:2.7.1:jdk8,且没有拉取标准的JDK11+版本。
内容的提问来源于stack exchange,提问作者Tanner Clary
相关产品推荐
相关产品推荐

