Java too old for the server or a plugin (UnsupportedClassVersionError)
- Platforms
- Paper · Purpur · single server
- Verified
- Verified
- Confidence
- Confidence 97%
What it looks like in the log
Any one of these lines is enough. The agent matches them locally, on your server.
logs/latest.log
has been compiled by a more recent version of the Java Runtime
Symptoms
- The server fails to start right after the JVM launches, or a single plugin fails to load
- In the log: “has been compiled by a more recent version of the Java Runtime (class file version N)”
Cause
A class (the server core or a plugin) was compiled for a newer Java than the one the server runs on. The class file version number indicates the required Java: 65 = Java 21, 69 = Java 25.
Possible causes
- The server/panel image runs on an old Java (e.g. 17), while Paper 1.21.x requires Java 21 and Paper 26.x requires Java 25
- The plugin was compiled for Java 25 while the server runs on Java 21 (a plugin for a newer Minecraft version)
- The wrong Docker image/java path is selected in the panel
How to fixMedium risk
- Find two numbers in the evidence:
class file version X(required) andup to Y(currently available). 65.0 = Java 21, 69.0 = Java 25, 61.0 = Java 17. - If the line mentions a core class (
org/bukkit/craftbukkit/Main,io/papermc/...), the server will not start: install the required Java (Paper 1.21.x — Java 21, Paper 26.x — Java 25) and change the Docker image/Java version in the hosting panel. - If it mentions a plugin class, either upgrade the server's Java or get a plugin build made for your Java/Minecraft version.
- Verify with
java -versionusing the same java path the server is launched with.
Translated from the Russian original; log lines are quoted verbatim.