Back to Guides
TroubleshootingIntermediate
How to Fix Java Version Problems
Resolve Java compatibility issues, version mismatches, and installation problems for your Minecraft server.
Blockhead Support Team
11 minutes
Java version issues are common when running Minecraft servers. Different Minecraft versions require specific Java versions for optimal performance and compatibility.
1
Understand Java Version Requirements
Learn which Java version your Minecraft server needs:
Minecraft Version to Java Mapping:
- Minecraft 1.20.5+: Requires Java 21
- Minecraft 1.18-1.20.4: Requires Java 17 or higher
- Minecraft 1.17: Requires Java 16 or higher
- Minecraft 1.12-1.16.5: Requires Java 8 or higher
- Minecraft 1.7.10-1.11: Best with Java 8
Common Java Error Messages:
- "Unsupported class file version" - Java too old
- "java.lang.UnsupportedClassVersionError"
- "Could not find or load main class"
- "Java version is incompatible"
- "This application requires Java X"
Using the wrong Java version is the #1 cause of server startup failures for new server owners.
2
Check Current Java Version
Verify which Java version is installed on your system:
Check Java Version Commands:
# Check default Java version
java -version
# Check full Java details
java -XshowSettings:properties -version
# Find Java installation path
# Windows:
where java
# Linux/Mac:
which java
# List all Java installations (Linux)
update-alternatives --list java
Understanding Version Output:
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211)
Version 17.0.8 = Java 17 (Good for MC 1.18+)
64-Bit = Can use more than 4GB RAM
HotSpot = Oracle's JVM implementation
3
Install Correct Java Version
Download and install the required Java version:
Recommended Java Distributions:
- Adoptium (OpenJDK): Free, open-source, recommended
- Oracle Java: Commercial license, official
- Amazon Corretto: Free, optimized for servers
- Azul Zulu: Free, good performance
- GraalVM: Advanced features, better performance
Installation Steps:
- Visit adoptium.net
- Select your operating system
- Choose Java version (8, 11, 17, or 21)
- Download installer or archive
- Run installer with administrator privileges
- Verify installation with
java -version
4
Manage Multiple Java Versions
Handle systems with multiple Java installations:
Specify Java Version in Startup Script:
# Windows start.bat
"C:\Program Files\Java\jdk-17\bin\java" -Xmx4G -jar server.jar
# Linux/Mac start.sh
/usr/lib/jvm/java-17-openjdk/bin/java -Xmx4G -jar server.jar
# Using JAVA_HOME
%JAVA_HOME%\bin\java -Xmx4G -jar server.jar
Environment Variable Setup:
- JAVA_HOME: Points to Java installation directory
- PATH: Include Java bin directory
- Priority: Ensure correct version comes first in PATH
5
Fix Version Mismatch Errors
Resolve common Java version conflicts:
UnsupportedClassVersionError Fix:
Error: LinkageError occurred while loading main class
java.lang.UnsupportedClassVersionError:
Main has been compiled by a more recent version of Java
Class file version 61.0 = Java 17 required
Class file version 55.0 = Java 11 required
Class file version 52.0 = Java 8 required
Solution: Upgrade to required Java version
Quick Fixes:
- Update Java to match server requirements
- Use absolute path to correct Java executable
- Downgrade server version if Java update not possible
- Use Docker with correct Java version included
6
Configure Java for Performance
Optimize Java settings for Minecraft servers:
JVM Arguments by Java Version:
# Java 8 (MC 1.12-1.16)
-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions
-XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC
-XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50
-XX:G1MaxNewSizePercent=80 -XX:G1MixedGCLiveThresholdPercent=35
# Java 17+ (MC 1.18+)
-XX:+UseG1GC -XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch
-XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4
Java 17+ Benefits:
- Better garbage collection performance
- Improved memory management
- Enhanced security features
- Better container support
7
Troubleshoot Java Installation
Fix common Java installation problems:
- PATH not updated: Manually add Java bin to system PATH
- 32-bit vs 64-bit: Ensure 64-bit Java for servers
- Corrupted installation: Uninstall and reinstall Java
- Permission issues: Run installer as administrator
- Conflicting versions: Uninstall old Java versions
Reset Java installation (Windows):
1. Uninstall all Java versions from Control Panel
2. Delete Java folders from Program Files
3. Remove Java entries from PATH
4. Restart computer
5. Install fresh Java version
6. Verify with: java -version
8
Platform-Specific Solutions
Handle Java issues on different operating systems:
Windows Solutions:
- Use Jarfix tool to fix .jar file associations
- Check Windows Defender isn't blocking Java
- Run Command Prompt as Administrator
- Use full paths in batch files
Linux Solutions:
# Install Java 17 on Ubuntu/Debian
sudo apt update
sudo apt install openjdk-17-jdk
# Install Java 17 on CentOS/RHEL
sudo yum install java-17-openjdk
# Switch between Java versions
sudo update-alternatives --config java
macOS Solutions:
- Use Homebrew:
brew install openjdk@17
- Set JAVA_HOME in ~/.zshrc or ~/.bash_profile
- Use jenv for version management
9
Verify and Maintain Java Setup
Ensure long-term Java compatibility:
- Document your setup: Note which Java version works
- Test before updating: Check compatibility first
- Keep multiple versions: For different server versions
- Monitor Java updates: Security patches important
- Use version managers: SDKMAN, jenv, or jabba
- Container approach: Docker ensures consistency
Once you have the correct Java version installed and configured, most startup issues will be resolved. Always match Java version to Minecraft version requirements.
Need More Help?
Our support team is available 24/7 to help with any Minecraft server issues.