Java Version Management - jambit ToiletPaper

Java Version Management mit jEnv

Problem: Arbeit mit verschiedenen Java-Versionen

Java Version Releases over the years
Zeiträume zwischen Java-Version Releases

An meinem ersten Arbeitstag bei jambit habe ich meinen Laptop abgeholt und das JDK 1.8 am selben Tag darauf installiert. Danach konnte ich mehrere Jahre ohne großartige Änderungen coole Java Applikationen für unsere Kunden entwickeln. Seit September 2017 wird allerdings alle 6 Monate eine neue Java-Version veröffentlicht.

Das hat zur Folge, dass ich oft gleichzeitig an Code-Basen arbeite, die mit unterschiedlichen Java-Versionen kompiliert werden. Es sind manchmal zwei separate Projekte. Es ist aber auch durchaus möglich, dass es sich um zwei Microservices im gleichen Projekt handelt.

Das einfache Umschalten zwischen verschiedenen Java-Versionen ist daher essenziell.

Die Lösung: Schnelles Umschalten mit jEnv

Unter vielen Optionen bietet uns jEnv die Möglichkeit, zwischen verschiedenen Java-Versionen zügig und einfach umzuschalten.

Beispiel

Nach der erfolgreichen Installation fügt man erstmals die auf dem Rechner vorhandenen Java-Versionen zu jEnv-Configs hinzu.
Danach kann man die globale Version in jEnv setzen bzw. die vorhandenen Versionen jederzeit auflisten.

$ jenv global oracle64-13.0.2
$ jenv versions
  system
  oracle64-1.8.0.202
* oracle64-13.0.2 (set by /Users/jambitUser/.jenv/version)

Die aktuelle Java-Version sieht man jederzeit mit jenv version. Mit jenv which java findet man den Pfad von Executables.

Ein nützliches Feature von jEnv ist, dass man unterschiedliche Java-Versionen auf der Verzeichnisebene setzen kann.

../foo:~$ jenv local oracle64-13.0.2
../bar:~$ jenv local oracle64-1.8.0.202

Im Verzeichnis /foo wird Java 13 und im Verzeichnis /bar Java 8 genutzt. Ähnlich setzt man die Version für eine Shell-Sitzung.

Weiterführende Aspekte

---

Autor: Dvin Galstian / Senior Software Architect / Business Division New Business

Java Version Management mit jEnv

Wir verwenden Cookies, um unsere Webseite für Sie zu optimieren. Mit dem Besuch unserer Webseite erklären Sie sich damit einverstanden. // Our website is using cookies to improve your experience. By continuing to browse the site, you are agreeing to our use of cookies.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. // For more information, please refer to our privacy policy.