上下文:我正在研究 Apache Calcite(存储库:github.com/apache/calcite),并尝试将 HSQLDB 版本更新到 2.7.1 以解决 https://nvd.nist.gov/vuln/detail/CVE -2022-41853(该问题正在此处跟踪:https://issues.apache.org/jira/browse/CALCITE-5938)。
因为 Calcite 使用 JDK8,所以我不能简单地使用普通的 2.7.1 版本,因为它只支持 JDK11+。相反,我必须使用替代 JAR(可以在这里找到:https://repo1.maven.org/maven2/org/hsqldb/hsqldb/2.7.1/),但我不确定如何在 Gradle 中执行此操作。每个依赖项的版本可以在我上面链接的存储库中的
gradle.properties
中找到。有谁知道我如何使用该版本的 JDK8 版本?
我尝试将
2.7.1
中的依赖关系更新为 gradle.properties
以及添加像 2.7.1:jdk8
这样的分类器,但无济于事。
请使用最新的 HSQLDB 版本 (2.7.2),因为它具有新的安全更新。请参阅下面的 Gradle 示例: https://hsqldb.org/doc/2.0/guide/deployment-chapt.html#dec_dependency_applications
请报告您现有的 Gradle 代码及其位置以获得更好的答案。
更新:请参阅 ttps://docs.gradle.org/current/userguide/dependency_resolution.html 了解如何解析带有限定符的版本字符串。
版本的“限定符”(如果存在)是版本的尾部 版本字符串,从其中找到的第一个非点分隔符开始。