什么是Java 9中的多版本jar(mrjar)?
一个多发行版的jar(也称为mrjar)包含了同一发行版的多个Jdk 版本的库。这意味着我们可以拥有一个适用于Jdk 9的库mrjar。mrjar 中的代码包含在Jdk 9中编译的类 文件 。使用Jdk 9编译的类可以利用Jdk 9提供的API。
该mrjar可以延长一个罐子里的已有的目录结构。它包含所有内容都驻留在其中的根目录,以及用于存储有关jar的元数据 的 META-INF 目录 。通常,一个jar包含一个包含属性的META-INF / MANIFEST.MF文件。
罐子中的条目如下:
- jar-root- C1.class
- C2.class
- C3.class
- C4.class
- META-INF
- MANIFEST.MF
在上面的模板中,该jar包含四个类文件和一个MANIFEST.MF文件。mrjar扩展了META-INF目录,以存储可以特定于Jdk版本的类。在META-INF目录包含版本子目录包含许多子目录,每个人的命名一样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 9中的多版本jar(mrjar)? 的全部内容, 来源链接: utcz.com/z/338261.html