什么是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

回到顶部