Java 9 中的多版本 jar(mrjar) 是什么?\
javaobject oriented programmingprogramming更新于 2025/9/10 17:48:17
多版本 jar(也称为 mrjar)包含适用于多个 Jdk 版本 的库的相同版本。这意味着我们可以拥有一个适用于 Jdk 9 的库 mrjar 。mrjar 中的代码包含在 Jdk 9 中编译的 类文件。使用 Jdk 9 编译的类可以利用 Jdk 9 提供的 API。
mrjar 可以扩展 jar 的现有目录结构。它包含一个根目录,所有内容都位于该目录下,还有一个 META-INF 目录 ,用于存储有关 jar 的元数据 。通常,jar 包含一个包含属性的 META-INF/MANIFEST.MF 文件。
jar 中的条目如下:
- jar-root - C1.class - C2.class - C3.class - C4.class - META-INF - MANIFEST.MF
在上述模板中,jar 包含四个类文件和一个 MANIFEST.MF 文件。mrjar 扩展了 META-INF 目录,用于存储特定于 Jdk 版本的类。META-INF 目录包含 version 子目录,该子目录包含许多子目录,每个子目录的名称与 Jdk 主版本相同。例如,特定于 Jdk 9 的类有一个 META-INF/versions/9 目录。对于特定于 Jdk 10 的类,有 META-INF/versions/10。
- jar-root - C1.class - C2.class - C3.class - C4.class - META-INF - MANIFEST.MF - versions - 9 - C2.class - C5.class - 10 - C1.class - C2.class - C6.class
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

