Problems updating Java on Ubuntu 20.04 for Minecraft 1.18

Trying to upgrade Java to the latest version of the Minecraft server (v1.18), I had a bit of a drama because the server was initially running Ubuntu 19.x, so I've converted to 20.04 after finding the place that allows me to update all the packages and do the upgrade.

After this I have installed the JRE, this is the same command showing the version I am up to:

mortimer@mineraft:/home/minecraft$ sudo apt-get install default-jre Reading package lists... Done Building dependency tree Reading state information... Done default-jre is already the newest version (2:1.11-72). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

Similarly with the JDK:

mortimer@mineraft:/home/minecraft$ sudo apt-get install default-jdk Reading package lists... Done Building dependency tree Reading state information... Done default-jdk is already the newest version (2:1.11-72). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

Running update-alternatives:

mortimer@mineraft:/home/minecraft$ sudo update-alternatives --config java There are 4 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/jdk-16.0.1/bin/java 0 manual mode * 4 /usr/local/java/jre1.8.0_311/bin/java 1 manual mode Press <enter> to keep the current choice[*], or type selection number: 

But if I run my Q&D start command:

mortimer@mineraft:/home/minecraft$ cat start.sh #!/bin/bash sudo java -Xmx6G -Xms4G -jar /home/minecraft/spigot-1.18.jar nogui > /dev/console 

I get a nice error from the server stating:

mortimer@mineraft:/home/minecraft$ sudo ./start.sh Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: org/bukkit/craftbukkit/bootstrap/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601) mortimer@mineraft:/home/minecraft$ 

Can anyone shed light on what I have done wrong?

Thanks

[edit - adding java -version]

mortimer@mineraft:/home/minecraft$ java -version java version "1.8.0_311" Java(TM) SE Runtime Environment (build 1.8.0_311-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode) mortimer@mineraft:/home/minecraft$ 
3

1 Answer

Minecraft: Java Edition version 1.18 won't work on Java 8. It requires Java 17. If Minecraft is the only thing you use Java for, I'd suggest uninstalling what you have now:

sudo apt remove default-jre default-jdk sudo apt autoremove 

Now, install OpenJDK 17:

sudo apt update sudo apt install openjdk-17-jre 

We don't install the JDK because it is for compiling Java programs. You aren't, instead you are running one (Minecraft), so you only need the JRE.

Minecraft Version Java Version
1.16 16
1.17 16
1.18 17
3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like