Alexandru Jecan -

Projekt Jigsaw bringt Flexibilität, Wartbarkeit, Sicherheit und Skalierbarkeit auf die Java-Plattform.

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.

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 JDK
  • JEP 201: Modularer Quellcode
  • JEP 220: Modulare Laufzeit-Images
  • JEP 260: Einkapselung von internen APIs
  • JEP 261: Modulares System
  • JEP 282: JLink
  • JSR 376: Java-Platform-Modulsystem

Artikelserie

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

Die OpenJDK-Webseite stellt 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, die dem Java-Compiler den Suchpfad für Module mitteilt, module-path, die dem Java Launcher die Stelle der kompilierten Module mitteilt sowie module, die 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 ansehen.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 5.17 - "Spring 5"

Alle Infos zum Heft
579793760Java 9: Softwaremodule mit Projekt Jigsaw entwickeln
X
- Gib Deinen Standort ein -
- or -