Manuelles Update von Java und Maven in Linux.
Problem: Ubuntu installiert eine etwas ältere Maven und Java-Version bei der Installation über apt-get. Dummerweise benötigt mein Projekt eine aktuellere Version von Java.
Download von Java
Zuerst habe ich das neue Java heruntergeladen, als tar.gz Archiv und nach „/home/da/dev/jdk-17.0.1“ entpackt.
Java Home setzen
Keine Ahnung, ob das wirklich notwendig ist, aber ich habe die Java-Home-Variable über die „/etc/profile“ Konfigurationsdatei gesetzt:
sudo vim /etc/profile
In diese Datei wandert dann die Variable + Pfad.
JAVA_HOME="/home/da/dev/jdk-17.0.1" export JAVA_HOME
Symlink von Java abändern
Im nächsten Schritt habe ich den Symlink „java“ in „/usr/bin/java“ abgeändert.
Der ursprüngliche Link zeigte auf:
Den Link habe ich auf die neue Java-Version im Home-Verzeichnis geändert. Ich habe hier der Einfachheit den Midnight Commander verwendet.
Update von Maven
Nächstes Problem, Maven. Die installierte Version 3.6.3 hat einen Fehler und funktioniert nicht mit Java 17. Es kommt folgender Fehler.
mvn clean [ERROR] Error executing Maven. [ERROR] java.lang.IllegalStateException: Unable to load cache item [ERROR] Caused by: Unable to load cache item [ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
Zuerst habe ich die alte Maven-Version entfernt.
sudo apt-get remove maven
Anschließend habe ich einen Symlink im „/usr/bin/“ Verzeichnis angelegt, welcher auf die neue Maven-Version zeigt. Diese habe ich ebenfalls in das „dev“ Verzeichnis im Home-Verzeichnis gepackt.
sudo ln –s /home/da/dev/maven/bin/mvn /usr/bin/mvn
Kleiner Test: