Suche
Nicht mehr atemlos

Eclipse Oxygen.1a – Offizieller Support für Java 9 & JUnit 5 für die Eclipse IDE

Dominik Mohilo

© Shutterstock.com / orangecrush

Die Ankündigung, dass die Eclipse ein außerplanmäßiges Update für den Java 9 Support bekommen würde, war bereits Anfang des Jahres im Eclipse-Universum erschallt. Ab heute ist es soweit: Eclipse Oxygen.1a steht zum Download zur Verfügung. Wir haben uns angesehen, was im Update enthalten ist.

Es war bereits vorher bekannt, doch erst auf der diesjährigen Eclipse Converge gab es eine hochoffizielle Ankündigung seitens der Eclipse Foundation zum Java 9 Support in Eclipse Oxygen. Mike Milinkovich, Executive Director der Foundation, versprach, dass es direkt zur Veröffentlichung von Java 9 ein Maintenance Release geben soll, was sich allerdings nicht hundertprozentig erfüllt hat.

Zu sagen, die Eclipse IDE sei nicht mit dem sogenannten First Day Support ausgestattet worden, wäre allerdings, obwohl das Maintenance Release erst seit gestern verfügbar ist, nicht ganz korrekt. Im Marketplace ist bereits seit dem Release von Java 9 ein Plug-in erhältlich, mit dem das JRE und das JDK 9 hinzugefügt werden. Das Paket enthält auch die Unterstützung für die Ausführungsumgebung der Java SE 9. Mit Eclipse Oxygen.1a kommt nun aber nicht nur der angekündigte Java 9 Support in die Eclipse-Plattform, sondern auch die vollständige Unterstützung von JUnit 5.

Java 9 Support in Eclipse

Die Java Development Tools (JDT) für Eclipse sind nun fit für Java 9. Im Prinzip heißt das Folgendes: Über den Eclipse Compiler for Java (ECJ) werden sämtliche Erweiterungen und Verbesserungen der Sprache in die JDT implementiert. Signifikante Features der Eclipse IDE wurden zudem überarbeitet, um die neuen Java-Module zu unterstützen, dazu zählen der Compiler, die Suche und viele Features im Editor.

Achtung! Um in den Genuss von Java 9 zu kommen, ist es nicht unbedingt nötig, Eclipse mit der Java 9 Runtime auszuführen. Eine Java 9 Runtime ist allerdings dann nötig (auf Ebene des Build Paths eines Projekts), wenn man ein modulares Projekt gegen Systemmodule kompilieren will. Wird eine Java 9 Runtime aus oben genannten Gründe dem Build Path eines Projekts hinzugefügt, werden die Systemmodule im Reiter der System Library im Package Explorer aufgelistet.

Systemmodule im Package Explorer / Quelle: Eclipse Fondation

Wichtig für bereits existierende und nicht-modulare Java-Projekte ist die Möglichkeit, in Module konvertiert zu werden. Hierfür kann schnell aus dem Konfigurationskontextmenü eine module-info.java-Datei für das Projekt erstellt werden. Außerdem können Bibliotheken und Container ab sofort auch dem Modulpfad und nicht nur dem Klassenpfad hinzugefügt werden.

Wurde ein Modul zum Modulpfad des Projektes schließlich hinzugefügt, kann dessen Kapselungseigenschaften durch einen Klick auf Is Modular und die Bearbeitung der Moduleigenschaften modifiziert werden. Und natürlich ist auch die Java-Suche nun aktualisiert worden: Das Suchen nach Modulen sollte nun reibungslos funktionieren.

Die Moduleigenschaften bearbeiten / Quelle: Eclipse Fondation

JUnit 5 Support in Eclipse

Auch die vollständige Integrierung von Junit 5 in Eclipse ist bereits seit Längerem bekannt, geplant und auf dem ein oder anderen Weg möglich gewesen. Auch hier ist Eclipse Oxygen.1a lediglich die offizielle Variante, die nun alle Nutzer der Eclipse IDE auf einen Stand bringt. Um diesem Zweck gerecht zu werden, wurde ein neuer JUnit Test Case Wizard implementiert. In diesem ist es ganz einfach möglich – neben JUnit-3- und JUnit-4-Tests – auch neue JUnit-Jupiter-Tests anzulegen.

Sehr praktisch ist, dass beim Erstellen eines solchen Tests der Wizard gleich anbietet, die JUnit 5 Library dem Build Path hinzuzufügen. Neu sind auch die Quick-Fix-Vorschläge, die per STRG + 1 für die Annotationen @Test, @TestFactory, @ParameterizedTest und @RepeatedTest verfügbar sind.

Quick-Fix-Vorschläge für ausgewählte Annotationen / Quelle: Eclipse Fondation

Zwei neue Templates (test_jupiter und test_factory) erleichtern das Erstellen von Testmethoden und in der JUnit-Startkonfiguration können jetzt bestimmte Tags in einen Testlauf einbezogen oder ausgelassen werden. Entwickler sollten allerdings nicht vergessen, dass Tests in einem alten Eclipse Build (ohne JUnit 5 Support) nicht funktionieren, wenn sie einen neuen Eclipse Build (mit JUnit 5 Support) als Target haben. Also Augen auf bei der Testerstellung!

Weitere Informationen zu Eclipse Oxygen.1a gibt es in den Release Notes zum Update. Herunterladen kann man sich die neueste Version über die Download-Seite der Eclipse Foundation.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.