English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La función de JAR compatible con múltiples versiones te permite crear bibliotecas de clase que solo utilizan versiones específicas del entorno Java.
A través de --parámetro de lanzamiento especifica la versión de compilación.
Los cambios específicos son en el META-Se ha añadido una propiedad nueva en el archivo MANIFEST.MF en el directorio INF:
Multi-Lanzamiento: true
Luego en el META-Además, se ha añadido un directorio versions en el directorio INF, si es para soportar java9Luego en el directorio versions hay 9 directorio.
multirelease.jar ├── META-INF │ └── versions │ └── 9 │ └── multirelease │ └── Helper.class ├── multirelease ├── Helper.class └── Main.class
En el siguiente ejemplo, usamos la función de JAR compatible con múltiples versiones para generar dos versiones del archivo Tester.java, una es jdk 7Y otro es jdk 9Luego ejecutamos en diferentes entornos.
Primer paso
Crea la carpeta c:/test/java7/com/w3codebox, y luego crea el archivo Test.java en la carpeta, el código es el siguiente:
paquete com.w3codebox; public class Tester { public static void main(String[] args) { System.out.println("Dentro de java 7"); } }
Segundo paso
Crea la carpeta c:/test/java9/com/w3codebox, y luego crea el archivo Test.java en la carpeta, el código es el siguiente:
paquete com.w3codebox; public class Tester { public static void main(String[] args) { System.out.println("Dentro de java 9"); } }
Compilar código fuente:
C:\test > javac --publicación 9 java9/com/w3codebox/Tester.java C:\JAVA > javac --publicación 7 java7/com/w3codebox/Tester.java
Crear paquetes jar compatibles con múltiples versiones
C:\JAVA > jar -c -f test.jar -C java7 . --publicación 9 -C java9. Advertencia: entrada META-INF/versiones/9/com/w3codebox/Tester.java, múltiples recursos con el mismo nombre
Usar JDK 7 Ejecutar:
C:\JAVA > java -cp test.jar com.w3codebox.Tester Dentro de Java 7
Usar JDK 9 Ejecutar:
C:\JAVA > java -cp test.jar com.w3codebox.Tester Dentro de Java 9