Verschiedene Java Versionen gleichzeitig auf Debian 10?


16.03.2022, 23:43

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

Vom Fragesteller als hilfreich ausgezeichnet

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.
Woher ich das weiß:eigene Erfahrung – Spiele Minecraft Java seit 2014
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.

Woher ich das weiß:Hobby – Leidenschaftlicher Gamer. Steam-Nutzer seit 2011.
DonGoldi 
Fragesteller
 16.03.2022, 20:34

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?

0
xxxcyberxxx  16.03.2022, 20:36
@DonGoldi
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

0
xxxcyberxxx  16.03.2022, 20:44
@DonGoldi

Es kann durchaus sein, dass gewisse Features fehlen, genau kann ich es nicht sagen. Hab mich zu lang nicht mit 1.8 auseinander gesetzt

0
DonGoldi 
Fragesteller
 16.03.2022, 20:45
@xxxcyberxxx

Okay aber danke für die schnelle Antwort ich probiere es mal / Nur wie installiere ich 2 Unterschiedliche Java Versionen ?

0
xxxcyberxxx  16.03.2022, 20:54
@DonGoldi
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

1

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.

Bild zum Beitrag

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.

Woher ich das weiß:Hobby – Erfahrungen seit 2022 mit Minestom servern
 - (Computer, Spiele und Gaming, Minecraft)
DonGoldi 
Fragesteller
 16.03.2022, 21:28

Danke

0
DonGoldi 
Fragesteller
 16.03.2022, 21:38

Das geht aber leider trotzdem nicht :(

0
MrCommandBlock  16.03.2022, 21:42
@DonGoldi

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.

1

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