Wispdock’s control panel isn’t built yet. Where a step says “in your control panel”, use whatever your host gives you for files, the console and start/stop. The Minecraft side works the same everywhere.

Decode UnsupportedClassVersionError
java.lang.UnsupportedClassVersionError: ...
class file version 65.0, this version of the Java Runtime only recognizes class file versions up to 61.0
This is a representative excerpt, not a captured Wispdock server log. The first number describes the compiled class; the second is the limit of the runtime that tried to load it. Use this mapping:
| Class file version | Java version |
|---|---|
| 52 | Java 8 |
| 55 | Java 11 |
| 60 | Java 16 |
| 61 | Java 17 |
| 65 | Java 21 |
If the named class belongs to a plugin or mod, only that component may require newer Java. Use the logs guide to identify it. Choose a compatible build rather than upgrading an old server’s runtime blindly.
Match Java to the Minecraft release
| Minecraft release | Java starting point |
|---|---|
| 1.16.5 and older | Java 8; use it for standard Forge 1.12–1.16 packs |
| 1.17 | Java 16 |
| 1.18–1.20.4 | Java 17 |
| 1.20.5+ (1.20.5 and 1.21 releases) | Java 21 |
These are the historical release families covered here, not a promise that every future Minecraft release uses Java 21. Check the exact server distribution and loader’s requirements, especially for newer releases or old packs with custom compatibility patches. Minecraft’s 1.20.5 release notes document the move to Java 21. The Paper setup documentation lists its own supported runtime versions.
Check the Java binary that actually runs
Run these in the same environment and user account that starts the server:
java -version
which javaOn Windows Command Prompt, use:
java -version
where java
Windows may list several paths; the first matching executable normally wins. A service, script or container can use a different PATH or an explicit Java path. Installing Java 21 alongside Java 17 does not switch that command automatically. The Minecraft launcher’s bundled client Java also does not select a dedicated server’s Java.
On Debian or Ubuntu, if the required runtime is installed, select the system default with:
sudo update-alternatives --config java
This changes the default for other commands using that system alternative too. To select only this server’s runtime, put its full path in the startup script instead. For example, on an amd64 Debian-style installation:
/usr/lib/jvm/java-21-openjdk-amd64/bin/java -version
/usr/lib/jvm/java-21-openjdk-amd64/bin/java -Xms4G -Xmx4G -jar server.jar nogui
Use the path installed on your machine; distribution and CPU architecture change it. Run from the server directory and adjust the example 4G memory to fit your allocation. For loaders using generated run scripts, change the Java selection those scripts use rather than replacing their library arguments.
Select the panel Java or Docker image
Stop the server, then check the panel’s Java version or Docker image selector. Choose the runtime required by the exact Minecraft and loader release, save, and start once. A terminal on the host may report Java 21 while the server container still contains Java 17. If the image is locked, ask the host to change it.
When asking about Minecraft Java hosting, send the class-version error, Minecraft version, loader version and selected runtime. Wispdock’s panel is still being prepared; selector names vary by provider. The server software guide helps distinguish vanilla, Paper and mod loaders.
Handle the reverse case: Java is too new
Standard Forge 1.12–1.16 packs commonly expect Java 8. Newer Java can break their launch wrappers, reflection access or bundled libraries, with errors such as ClassCastException or InaccessibleObjectException. This is a separate compatibility failure; a newer runtime does not normally reject an older class merely because of its class file number.
Use the pack’s documented Java 8 runtime for that old server. Keep Java 21 available separately for modern servers. Do not delete mods or add random JVM flags before checking the pack’s instructions. Back up the world and startup script before changing runtime selection so you can restore the previous setup.
Confirm the selected runtime and successful startup
Verify the exact binary with -version, then inspect the panel or server startup output for the runtime in use. The class-version error should disappear and the log should reach Done. If a plugin alone still fails, install its compatible release. If startup succeeds but joining fails, use the connection guide and check server.properties; client Minecraft version and server Java version are different checks.
Frequently asked questions
What do class file versions 65.0 and 61.0 mean?
65 means Java 21 and 61 means Java 17. A Java 17 runtime cannot load a class compiled for Java 21.
I installed Java 21. Why is the same error still there?
The startup script, service or panel container may still launch Java 17. Check the exact binary path or selected panel image.
Should I run old Forge with the newest Java?
Use the pack’s documented runtime. Standard Forge 1.12–1.16 packs commonly need Java 8 and can fail with newer runtimes.
Wispdock’s draft plans are 4 GB for vanilla and plugins and 8 GB for modpacks. The pricing page has the details; prices are drafts and ordering isn’t open yet.
Still stuck? Send us the details and your latest.log.