Verschiedene Java Versionen gleichzeitig auf Debian 10?
Hey Ihr lieben,
Ich habe seit gestern wieder angefangen eine kleines MC Netzwerk aufzubauen.
Doch jetzt stehe ich vor einem kleinen Problem,
ich möchte einen meiner Server auf der neusten Version ( 1.18.2 ) laufenlassen die ja java 17 brauch.
wiederum möchte ich die Lobby meines Servers auf der 1.8.8 halten um auch ältere Minecraft Versionen später verbinden zu können (Minigames und co)
Daher, das Bungeecord läuft jedoch mein 1.8.8 Server nicht. Ich glaube, dass der Java 8 oder co braucht.
Frage also: kann ich mehrere Java Versionen gleichzeitig auf Debian 10 installieren und bringt mir das überhaut was ?
Lösung für alle mit dem gleichem Problem :
Installiere Java 8...
apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common -y
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
apt update
apt install adoptopenjdk-8-hotspot -y
[...] und packe in deine start.sh statt java denn Pfad der Java Version z.b:
/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java
So findest du deinen Pfad:
update-alternatives --config java
Hier ein Beispiel für deinen Server start.sh:
screen -S lobby /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java -jar -Xms1G -Xmx1G -jar 1.8.8.jar nogui
Vielen Dank an @MrCommandBlock
M.F.G Don_Goldi
6 Antworten
Mehrere Möglichkeiten:
- Die Java-Binary direkt ansprechen. Statt java also z. Bsp. /usr/lib/jvm/java-11-openjdk/bin/java
- Du könntest auch Links zu den verschiedenen Versionen in /usr/bin erstellen. Dann kannst du für Java 11 z. Bsp. java11 nutzen.
- Oder du nutzt einfach Docker, was meiner Meinung nach die sauberste Lösung wäre. Dort ist sowieso alles voneinander isoliert.
Frage also: kann ich mehrere Java Versionen gleichzeitig auf Debian 10 installieren
ja
und bringt mir das überhaut was ?
klar, du kannst eben verschiedene Java-Versionen dann nutzen.
Ich selbst hab z.B. einen Host mit Java 8 und Java 17 - für Minecraft-Server in Version 1.12.2 und 1.18.2.
oder macht der das Automatisch?
nein
und wie mache ich das, dass der 1.8 Server die Java 8 Version nimmt und die 1.18.2 die Java 17 ?
Du nimmst nicht den relativen Pfad, der eben in PATH steht, sondern den absoluten Pfad zu Java
Also statt "java" nutzt du dann eben z.B. "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" - musst halt herausfinden, wo sich bei dir im System die Java Executable für deine Java-Version befindet. Das ist jetzt der Pfad von OpenJDK Java 8 bei mir
Okay danke aber kann 1.8 nicht mit 17 laufen?
Es kann durchaus sein, dass gewisse Features fehlen, genau kann ich es nicht sagen. Hab mich zu lang nicht mit 1.8 auseinander gesetzt
Okay aber danke für die schnelle Antwort ich probiere es mal / Nur wie installiere ich 2 Unterschiedliche Java Versionen ?
Nur wie installiere ich 2 Unterschiedliche Java Versionen ?
Indem du über den Paketmanager einfach zwei Versionen installierst.
Z.B. für OpenJDK:
apt install openjdk-x-jre-headless
x ist eben die entsprechende Java-Version
Ja, du wenn mehrere Java-Versionen installiert sind kannst du jede Java Version mit dem direkten Pfad ansprechen:
Mehrere Java Versionen Installieren:
apt install openjdk-11-jre-headless
apt install openjdk-17-jre-headless
Version 11 für Mc-1.8 und Version 17 für 1.18
Dann kannst du mit dem unten im Bild stehenden Befehl die Pfade anzeigen lassen zu den bestimmten Versionen.
der Markierte Text wäre dann der Pfad zu einer bestimmten Java-Version.
Den Server startest du dann z.B. mit
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar server.jar
also im Startbefehl "java" durch den Pfad ersetzen.

was funktioniert nicht genau?
Schick mir mal genau was du gemacht hast, was passiert ist, die Meldungen etc.
Du kannst mir auch gerne eine FA schicken.
Nimm doch einfach Docker. Gibt doch bestimmt container mit Minecraft, oder?
wiederum möchte ich die Lobby meines Servers auf der 1.8.8 halten um auch ältere Minecraft Versionen später verbinden zu können
Geht btw auch ohne, dass du deine Lobby auf der 1.8.8 hast, mit ViaVersion + ViaBackwards + ViaRewind
Okay und wie mache ich das, dass der 1.8 Server die Java 8 Version nimmt und die 1.18.2 die Java 17 ? oder macht der das Automatisch?