© Excellent backgrounds/Shutterstock.com
Java Magazin
Teil 1: Anwendungen kompilieren, paketieren und ausführen

Der Java-9-Paketshop

Nach langer Erwartung wird Java 9 im Juli 2017 veröffentlicht. Die neuste Version bietet einige Verbesserungen. Insgesamt 89 Java Enhancement Proposals (JEPs) wurden in Java 9 implementiert. In diesem Artikel stelle ich das Modulsystem des Projekts Jigsaw vor.

Alexandru Jecan


ArtikelserieTeil 1: Anwendungen kompilieren, paketieren und ausführenTeil 2: Praktische Lösungen und Tipps für den erfolgreichen Umstieg auf Java 9Teil 3: Top-down- und Bottom-up-Migration

Die größte Änderung in Java 9 ist das neue Modulsystem Projekt Jigsaw. Mithilfe von Projekt Jigsaw wird die Programmierung auf Basis von Softwaremodulen in Java 9 möglich. Dieser Artikel erläutert Ihnen einen Teil der wichtigsten Grundlagen des Projekts Jigsaw, deren Aufgabe es ist, das Design eines Standardmodulsystems für das JDK 9 und für die Java-Plattform bereitzustellen. Projekt Jigsaw besteht aus insgesamt sechs JEPs und einem JSR:

JEP 200: Modulares JDKJEP 201: Modularer QuellcodeJEP 220: Modulare Laufzeit-ImagesJEP 260: Einkapselung von internen APIsJEP 261: Modulares SystemJEP 282: JLinkJSR 376: Java-Plattform-Modulsystem

Die OpenJDK-Webseite stellt unter [1] die Ziele von Projekt Jigsaw eindeutig und präzise vor. So sollen die Java-SE-Plattform und das JDK skalierbarer für kleine Geräte sein. Außerdem sollen die Sicherheit und Wartbarkeit der Java-SE-Plattform sowie die Leistung von Applikationen verbessert werden. Zudem steht die einfachere Entwicklung und Wartbarkeit von Bibliotheken und großen Anwendungen auf dem Plan, sowohl für die Java-SE- als auch für die Java-EE-Plattform.

Java-9-Anwendungen bestehen aus Modulen. Bei der Kompilierung und Ausführung unterstützt Java 9 die Angabe von Modulen. Der Java-Compiler und der Java Launcher wurden mit neuen Flags bereichert, um die Kompilierung und die Ausführung von Java-9-Modulen zu ermöglichen. Zu den wichtigsten neuen Optionen zählen die folgenden Flags: --module-source-path, das dem Java-Compiler den Suchpfad für Module mitteilt, --module-path, das dem Java Launcher die Stelle der kompilierten Module mitteilt sowie --module, das das Hauptmodul nennt.

Außerdem wird das neue Konzept modularer JAR-Dateien vorgestellt. Nebenbei wird erklärt, wie man eine modulare JAR-Datei aus .class-Dateien erzeugen und wie sie für die Ausführung der Module verwendet werden kann. Die meisten internen JDK-APIs sind in JDK 9 nicht mehr zugänglich. Quellcode, der solche internen JDK-APIs verwendet, kann im JDK 9 nicht mehr kompiliert werden. Um die Kapselung auszuschalten, wurde eine neue Java-Compiler-Option namens --add-exports eingeführt. Mithilfe dieser Option kann man spezifizieren, ob ein internes JDK-Paket für ein bestimmtes Modul zugänglich sein soll. Ein konkretes Beispiel mit Quellcode wollen wir uns in diesem Artikel anse...

Java Magazin
Teil 1: Anwendungen kompilieren, paketieren und ausführen

Der Java-9-Paketshop

Nach langer Erwartung wird Java 9 im Juli 2017 veröffentlicht. Die neuste Version bietet einige Verbesserungen. Insgesamt 89 Java Enhancement Proposals (JEPs) wurden in Java 9 implementiert. In diesem Artikel stelle ich das Modulsystem des Projekts Jigsaw vor.

Alexandru Jecan


ArtikelserieTeil 1: Anwendungen kompilieren, paketieren und ausführenTeil 2: Praktische Lösungen und Tipps für den erfolgreichen Umstieg auf Java 9Teil 3: Top-down- und Bottom-up-Migration

Die größte Änderung in Java 9 ist das neue Modulsystem Projekt Jigsaw. Mithilfe von Projekt Jigsaw wird die Programmierung auf Basis von Softwaremodulen in Java 9 möglich. Dieser Artikel erläutert Ihnen einen Teil der wichtigsten Grundlagen des Projekts Jigsaw, deren Aufgabe es ist, das Design eines Standardmodulsystems für das JDK 9 und für die Java-Plattform bereitzustellen. Projekt Jigsaw besteht aus insgesamt sechs JEPs und einem JSR:

JEP 200: Modulares JDKJEP 201: Modularer QuellcodeJEP 220: Modulare Laufzeit-ImagesJEP 260: Einkapselung von internen APIsJEP 261: Modulares SystemJEP 282: JLinkJSR 376: Java-Plattform-Modulsystem

Die OpenJDK-Webseite stellt unter [1] die Ziele von Projekt Jigsaw eindeutig und präzise vor. So sollen die Java-SE-Plattform und das JDK skalierbarer für kleine Geräte sein. Außerdem sollen die Sicherheit und Wartbarkeit der Java-SE-Plattform sowie die Leistung von Applikationen verbessert werden. Zudem steht die einfachere Entwicklung und Wartbarkeit von Bibliotheken und großen Anwendungen auf dem Plan, sowohl für die Java-SE- als auch für die Java-EE-Plattform.

Java-9-Anwendungen bestehen aus Modulen. Bei der Kompilierung und Ausführung unterstützt Java 9 die Angabe von Modulen. Der Java-Compiler und der Java Launcher wurden mit neuen Flags bereichert, um die Kompilierung und die Ausführung von Java-9-Modulen zu ermöglichen. Zu den wichtigsten neuen Optionen zählen die folgenden Flags: --module-source-path, das dem Java-Compiler den Suchpfad für Module mitteilt, --module-path, das dem Java Launcher die Stelle der kompilierten Module mitteilt sowie --module, das das Hauptmodul nennt.

Außerdem wird das neue Konzept modularer JAR-Dateien vorgestellt. Nebenbei wird erklärt, wie man eine modulare JAR-Datei aus .class-Dateien erzeugen und wie sie für die Ausführung der Module verwendet werden kann. Die meisten internen JDK-APIs sind in JDK 9 nicht mehr zugänglich. Quellcode, der solche internen JDK-APIs verwendet, kann im JDK 9 nicht mehr kompiliert werden. Um die Kapselung auszuschalten, wurde eine neue Java-Compiler-Option namens --add-exports eingeführt. Mithilfe dieser Option kann man spezifizieren, ob ein internes JDK-Paket für ein bestimmtes Modul zugänglich sein soll. Ein konkretes Beispiel mit Quellcode wollen wir uns in diesem Artikel anse...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang