Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 9 - Multirelease-JAR

In Java 9 wird eine neue Funktion eingeführt, bei der ein JAR-Format verbessert wurde, damit verschiedene Versionen von Java-Klassen oder -Ressourcen je nach Plattform verwaltet und verwendet werden können. In JAR hat eine Datei MANIFEST.MF einen Eintrag Multi-Release:true in ihrem Hauptabschnitt. Das META-INF-Verzeichnis enthält auch ein Versions-Unterverzeichnis, dessen Unterverzeichnisse (beginnend mit 9 für Java 9) versionsspezifische Klassen und Ressourcendateien speichern.

In diesem Beispiel verwenden wir ein Multi-Release-Jar, um zwei Versionen der Tester.java-Datei zu haben, eine für jdk 7 und eine für jdk 9, und führen sie auf verschiedenen jdk-Versionen aus.

Schritte

Schritt 1 − Erstellen Sie einen Ordner c:/test/java7/com/tutorialspoint. Erstellen Sie Test.java mit folgendem Inhalt −

Tester.java

Live-Demo
package com.tutorialspoint;

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

Schritt 2 − Erstellen Sie einen Ordner c:/test/java9/com/tutorialspoint. Erstellen Sie Test.java mit folgendem Inhalt −

Tester.java

Live-Demo
package com.tutorialspoint;

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

Kompilieren Sie die Quellcodes.

C:\test > javac --release 9 java9/com/tutorialspoint/Tester.java

C:\JAVA > javac --release 7 java7/com/tutorialspoint/Tester.java

Erstellen Sie das Multi-Release-JAR

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

Ausführung mit JDK 7

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

Ausführung mit JDK 9

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

Java

  1. Java-Operatoren
  2. Java-Kommentare
  3. Java for-each-Schleife
  4. Java-Strings
  5. Java-Schnittstelle
  6. Anonyme Java-Klasse
  7. Java-Versuch-mit-Ressourcen
  8. Java-Anmerkungen
  9. Java-Assertionen
  10. Java-Vektor