© Excellent backgrounds/Shutterstock.com
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.

Artikelserie

Teil 1: 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 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-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 au...

Neugierig geworden?

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