English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Java

Java Controllo dei flussi

Java Array

Java Orientamento ad oggetti (I)

Java Orientamento ad oggetti (II)

Java Orientamento ad oggetti (III)

Gestione delle eccezioni Java

Java List

Java Queue (coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Pacchetto jar compatibile con più versioni Java 9

Nuove funzionalità Java 9

La funzione JAR compatibile con più versioni ti permette di creare versioni di classi da utilizzare solo in ambienti Java di specifiche versioni.

Specificare la versione di compilazione tramite il parametro --release.

Le variazioni specifiche sono che è stata aggiunta una nuova proprietà al file MANIFEST.MF nella directory META-INF:

Multi-Release: true

Poi è stata aggiunta una nuova directory versions nella directory META-INF, se si desidera supportare java9, allora nella directory versions c'è una directory 9.

multirelease.jar
├── META-INF
│           └── versions
│           └── 9
│         └── multirelease
│       └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class

In questo esempio, abbiamo utilizzato la funzione di JAR compatibile con più versioni per generare due versioni di pacchetti jar dal file Tester.java, una per jdk 7 e l'altra per jdk 9, poi abbiamo eseguito in diversi ambienti.

Primo passo

Crea la cartella c:/test/java7/com/w3codebox e crea il file Test.java nella cartella, il codice è il seguente:

package com.w3codebox;
public class Tester {
   public static void main(String[] args) {
      System.out.println("Inside java 7");
   {}
{}

Secondo passo

Crea la cartella c:/test/java9/com/w3codebox e crea il file Test.java nella cartella, il codice è il seguente:

package com.w3codebox;
public class Tester {
   public static void main(String[] args) {
      System.out.println("Inside java 9");
   {}
{}

Compilazione del codice sorgente:

C:\test > javac --release 9 java9/com/w3codebox/Tester.java
C:\JAVA > javac --release 7 java7/com/w3codebox/Tester.java

Creazione di jar compatibili con più versioni

C:\JAVA > jar -c -f test.jar -C java7 . --release 9 -C java9.
Attenzione: entry META-INF/versions/9/com/w3codebox/Tester.java, 
   Risorse multiple con lo stesso nome

Esegui con JDK 7:

C:\JAVA > java -cp test.jar com.w3codebox.Tester
Inside Java 7

Esegui con JDK 9:

C:\JAVA > java -cp test.jar com.w3codebox.Tester
Inside Java 9

Nuove funzionalità Java 9