Minecraft Java Edition servers run on a Java runtime, and using an incompatible runtime can stop the server before the world finishes loading.

There is no single Java version that is correct for every Minecraft release, server implementation, mod loader and plugin combination. Check the requirements of the exact software you are running rather than relying on an old compatibility chart.

Start with the exact Minecraft server software

Identify the Minecraft version and the server software first: for example a vanilla server, Paper-family server or a mod-loader-based server. The runtime requirement belongs to that exact build.

Use the project's current documentation or release notes as the primary requirement. A tutorial written for an older Minecraft release can recommend a Java generation that is no longer appropriate for your build.

Check the Java runtime actually being used

The Java installed on your personal computer may not be the Java selected by a hosting container or server image. Check the runtime in the same environment that starts the Minecraft process.

The command output normally includes the Java release and runtime information. Keep that output together with the server startup error when troubleshooting.

java -version

Understand UnsupportedClassVersionError

UnsupportedClassVersionError commonly means Java is trying to load class bytecode compiled for a newer runtime level than the current JVM understands.

The incompatible class might come from the Minecraft server itself, a plugin, a mod or another library. Read the stack trace instead of assuming the main server JAR is always responsible.

  • Confirm which class or JAR appears near the error.
  • Check that component's documented Java requirement.
  • Compare it with java -version from the running environment.
  • Do not randomly downgrade several components at once.

Plugins and mods can add their own requirements

A Minecraft server can satisfy its own Java requirement while one plugin or mod still requires a newer runtime or is incompatible with the selected version.

When an error starts immediately after adding or updating one component, check that component's release information and test with a controlled change.

Change Java safely

Treat a runtime change like any other server maintenance task. Keep a backup and avoid upgrading Java, Minecraft, every plugin and every mod in the same troubleshooting step.

  1. Back up the world and important server configuration.
  2. Record the current Minecraft build and java -version output.
  3. Check the required Java version for the exact server software.
  4. Select the matching runtime or server image in the hosting environment.
  5. Start the server and read the complete console output.
  6. Verify important plugins or mods before considering the change complete.

Read the first startup error, not only the last line

Minecraft startup logs can contain many follow-up errors after the first failure. The final line may only report that startup stopped.

Scroll upward and find the first relevant exception, plugin load failure or Java compatibility message. Diagnosing from that point is more useful than repeatedly restarting the server.

Do not use Java changes to fix unrelated problems

Changing Java will not fix every startup problem. Missing configuration files, bad plugin settings, corrupt downloads, insufficient memory and invalid startup arguments require different troubleshooting.

Only change the runtime when the server requirements or error output give you a reason to suspect Java compatibility.

Frequently Asked Questions

Should I always use the newest Java version?

No. Use a Java release supported by the exact Minecraft server software and important plugins or mods you are running.

Can a plugin require a different Java version?

Yes. A plugin can be compiled for a newer Java level even when other plugins still work with the current runtime.

Does UnsupportedClassVersionError always mean Minecraft itself is too new?

No. The incompatible class can belong to the server, a plugin, a mod or another dependency. Inspect the error to identify the component.

Can changing Java corrupt my world?

A simple runtime mismatch usually causes startup failure rather than world corruption, but backups are still important before server maintenance or software changes.

Related Guides