Wenn der Prophet nicht zum Berg kommt...

Jabel – Features von Java 9+ mit Java 8 nutzen

Dominik Mohilo

© Shutterstock / Dabarti CGI

Auch wenn wir im nächsten Monat bereits die Veröffentlichung von Java 13 erwarten, ist Java 8 noch immer die am weitesten verbreitete Version der Programmiersprache. Dass man dennoch nicht auf manch einen syntaktischen Zucker verzichten muss, beweist das Projekt Jabel.

Seit 2015 führen wir in regelmäßigen Abständen Quickvotes dazu durch, welche Java-Version unsere Leserschaft auf JAXenter verwendet. Der Spitzenreiter bleibt mit deutlichem Abstand Java 8. Das letzte Release vor der Modularisierung der Programmiersprache und vor Project Jigsaw ist nach wie vor die am weitesten verbreitete Java-Version. Viele Entwickler würden lieber mit neueren Versionen arbeiten, sind aber aufgrund von Entscheidungen im Management dazu gezwungen, auf neue Sprachfeatures zu verzichten. Jabel bietet hierfür einen Ausweg.

Neue Syntax in alten Versionen

Die Motivation, Jabel zu erstellen, war für Sergei Egorov die Tatsache, dass viele Open-Source-Bibliotheken noch immer auf Java 8 setzen, bzw. diese Java-Version als Target nutzen. Wer denkt, dass einen die (erzwungene) Nutzung dieser eher staubigen Java-Version, bspw. die Welt der Switch Expressions verwehrt, irrt sich allerdings: Viele Sprach-Features funktionieren, so Egorov, auch ohne Bytecode-Veränderungen. Unterm Strich bedeutet dies, dass der Java Compiler auch mit neueren Quellcodes klarkommt. javac kann also durchaus validen Java-8-Bytecode ausgeben, auch wenn etwa in Java 12 geschriebener Source Code kompiliert wird.

Jabel agiert in dem Fall nun als Annotation Processor, führt aber kein Processing aus. Stattdessen schaltet sich das Tool in den Kompiliervorgang ein und lässt den Compiler glauben, gewisse Features aus Java 9, Java 10, Java 11 und Java 12 würden auch von Java 8 unterstützt werden. Und schon kann man oben erwähnte Switch Expressions oder die beliebten var-Deklarationen nutzen.

Weitere Informationen zu Jabel gibt es auf GitHub. Dort hat das Projekt seit seinem initialen Erscheinen vor rund zwei Tagen bereits 80 Sterne erhalten.

W-JAX 2019 Java-Dossier für Software-Architekten

Kostenlos: Java-Dossier für Software-Architekten 2019

Auf über 30 Seiten vermitteln Experten praktisches Know-how zu den neuen Valuetypes in Java 12, dem Einsatz von Service Meshes in Microservices-Projekten, der erfolgreichen Einführung von DevOps-Praktiken im Unternehmen und der nachhaltigen JavaScript-Entwicklung mit Angular und dem WebComponents-Standard.

 

Verwandte Themen:

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

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: