Java Management
Configure Java manually or let Polymerium auto-download the right version for you.
Last updated on
How Polymerium Handles Java
Polymerium doesn't scan your system drive for Java installations. It uses two sources:
- Manually configured Java — you specify a Java home directory.
- Auto-deployed runtime — Polymerium downloads a matching Java runtime from Mojang into its cache.
When Auto-Deploy Happens
Deployment prepares a matching Mojang Java runtime whenever one is available for the instance's accepted Java majors, including when you configured your own Java. Instances share the cached runtime for each major. Your configured Java takes precedence when starting the game and does not change deployment requirements.
Configured paths are used as given: Polymerium does not check that a path works, so a wrong path fails when the game starts instead of falling back to another runtime.
A modpack can narrow the accepted majors through a native patch. If none matches an automatically provided runtime, deployment has no Java download requirement. Starting the game still needs a suitable user-configured Java; otherwise launch reports an error so you can configure Java or review the patch.
Auto-deployed runtimes live in cache/runtimes/ and don't touch your system registry or replace your system Java.
Supported Java Versions
Polymerium can manage multiple Java versions because different Minecraft versions require different JREs:
| Minecraft Version | Required Java |
|---|---|
| 1.16.5 and earlier | Java 8 |
| 1.17 | Java 16 |
| 1.18–1.20.4 | Java 17 |
| 1.20.5+ | Java 21 |
Configuring Java Paths
Go to Settings → Java to set Java home paths for each major version. Each field accepts a path to a JDK/JRE home directory (containing bin/java or bin/java.exe).
Per-Instance Override
You can override the Java version for a specific instance:
- Open the instance's properties.
- Set the Java home override to a specific path.
This is useful for testing compatibility or using optimized JVM distributions for specific instances.
Manual vs. Auto: Which to Use?
| Scenario | Recommendation |
|---|---|
| Casual player | Let Polymerium auto-deploy — zero configuration |
| System Java already installed | Configure the path to use it when launching |
| Multiple MC versions | Configure paths per version, or let auto-deploy handle it |
| Debugging Java issues | Set manually so you control exactly which Java runs |
Troubleshooting Java Issues
- Wrong Java version → check the instance's Java override and the global Java settings for the matching version
- Java not found → check the configured path or provide a Java version accepted by the instance
- Crash on launch → verify the Java path points to a valid JDK/JRE home (must contain
bin/java)