Mehrere OpenJDK-Versionen parallel unter Linux möglich?
Hallo,
Wie es der Titel schon beschreibt, geht es um verschiedenen JDK-Versionen auf einem Ubuntu-Linux. Ich bin etwas unerfahren was die Installation von Java OpenJDKs unter Linux angeht. Bisher hat es immer ohne Schwierigkeiten geklappt über die Üblichen commands.
Kurz zu meinen Anforderungen.
Ich Programmiere recht neu mit Java und bin auf ein OpenJDK angewiesen.
Dazu benutze ich eine etwas ältere JDK Version, die ist aber auch für meine Arbeit notwendig.
Für ein anderes Projekt wird jetzt aber eine neuere Version der OpenJDK Bibliothek erfordert.
Nun bin ich mir nicht sicher, da ich meine alten Sachen noch nutzen muss und weiter bearbeite, ob mir eine Installation eines neueren JDKs mein altes überschreibt oder ersetzt, und dann meine Programme, mit einer älteren Version entwickelt, Probleme haben werden.
Ich hoffe mein Problem war verständlich.
Die JDK Versionen von denen ich Spreche sind OpenJDK 8 und OpenJDK 11 und natürlich alle dazugehörigen Development Kits.
MfG
4 Antworten
Ja, unterschiedliche Versionen sind möglich - leider braucht man diese auch, wie du selbst festgestellt hast. Ich habe wahlweise neben den OpenJDK auch noch das Oracle...
Falls du Eclipse benutzt, lässt sich das z.B. für jedes Projekt separat einstellen. Du kannst irgendwo den Ordner zu deiner JDK setzen. (Hab es gerade nicht auswendig)
Unter Ubuntu wählst du deine Default-Version mit update-alternatives aus:
https://wiki.ubuntuusers.de/Java/Installation/Oracle_Java/Java_8/
Damit siehst du ggf. auch die Installationsorte der Pakete.
Du kannst mehrere Installationen haben. Bei mir ist es so, dass ich einfach den jdk Ordner auf /opt habe und dann einen symbolischen Link von java auf den jeweiligen Ordner. Wenn ich dann eine andere Version brauche ändere ich einfach den Link.
Edit: Ich habe java an sich überhaupt nicht installiert, sondern ziehe mir einfach den ganzen Ordner.
Schaue dir mal SDKMAN an, damit kann man parallel mehrere Java Versionen installieren.
Versuche es mit Docker.