Java Language Exemple de contenu de fichier Jar multi-version


Exemple

En définissant Multi-Release: true dans le fichier MANIFEST.MF, le fichier Jar devient un Jar multi-versions et le runtime Java (à condition qu'il prenne en charge le format MRJAR) sélectionne les versions appropriées des classes en fonction de la version majeure actuelle. .

La structure d'un tel pot est la suivante:

jar root
  - A.class
  - B.class
  - C.class
  - D.class
  - META-INF
     - versions
        - 9
           - A.class
           - B.class
        - 10
           - A.class
  • Sur les JDK <9, seules les classes de l'entrée racine sont visibles pour le runtime Java.
  • Sur un JDK 9, les classes A et B seront chargées à partir du répertoire root/META-INF/versions/9 , tandis que C et D seront chargées à partir de l’entrée de base.
  • Sur un JDK 10, la classe A serait chargée à partir du répertoire root/META-INF/versions/10 .