Java 9 JAR multi-versions : Classes spécifiques par plateforme dans une seule archive
Java 9 améliore le format JAR pour permettre plusieurs versions de classes/ressources selon la plateforme Java.
MANIFEST.MFcontientMulti-Release: truedans sa section principale.- Le répertoire
META-INF/versions/contient des sous-répertoires par version (ex:9pour Java 9) avec les classes/ressources spécifiques.
Exemple : deux versions de Tester.java
Étape 1 : Version Java 7
c:/test/java7/com/tutorialspoint/Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 7");
}
}
Étape 2 : Version Java 9
c:/test/java9/com/tutorialspoint/Tester.java
package com.tutorialspoint;
public class Tester {
public static void main(String[] args) {
System.out.println("Inside java 9");
}
}
Compilation
C:\test> javac --release 9 java9/com/tutorialspoint/Tester.java
C:\JAVA> javac --release 7 java7/com/tutorialspoint/Tester.java
Création du JAR multi-versions
C:\JAVA> jar -c -f test.jar -C java7 . --release 9 -C java9 .
Warning: entry META-INF/versions/9/com/tutorialspoint/Tester.java, multiple resources with same name
Exécution
C:\JAVA> java -cp test.jar com.tutorialspoint.Tester
Inside Java 7 (sur JDK 7)
C:\JAVA> java -cp test.jar com.tutorialspoint.Tester
Inside Java 9 (sur JDK 9)
Le bon code est chargé automatiquement selon la version du JRE à l'exécution. Idéal pour migrer progressivement tout en maintenant la compatibilité.
Java
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Commentaires Java : Types, utilisation et bonnes pratiques
- Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
- Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
- Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
- Annotations Java expliquées : types, placement et exemples pratiques
- Assertions Java : guide pratique pour détecter les bugs et assurer la fiabilité du code