prismlauncher.org
prismlauncher.org copied to clipboard
Improve Java tutorial, including proper instructions for aarch64 (contains global CSS changes, check before merging)
Hello! I am the author of the MinecraftHopper Java installation tutorial, here to help potentially rewrite most of this page for clarity.
Having this article in the first place is, of course, a stopgap measure until https://github.com/PrismLauncher/PrismLauncher/pull/285 is implemented and solves all these problems without the user having to do anything. But we should improve it anyways, as it has become a source of confusion.
This merges #216
CSS changes
Inline <code> blocks
Currently, light mode is a typographic disaster whenever <code> blocks are used. So I changed the background color from black to a light gray, so it displays similar to Github-flavored markdown. Might have just been a case where nobody tested light mode :D
Also, border-radius wasn't working because this is a CSS property that only accepts px, not em. It also had no padding to make it look non-janky.
Before:

After:

For dark mode I retained the existing color scheme, just fixed the border-radius.
Tables
Tables haven't been used on the wiki yet, so they had no borders. So I gave them a subtle border color.
Explanation of OpenJDK
I've edited the article to include an explanation for why OpenJDK is preferred over Oracle.
Instructions for checking CPU architecture
CPU architectures are becoming increasingly confusing as MacOS users don't know that M1 means aarch64, and Windows users are increasingly buying ARM tablets. This is especially a problem because on aarch64 platforms that emulate x86-64, downloading the wrong version can cause performance problems without any indication as to what the issue is. So we should provide detailed instruction on how to check.
Download Links
It's almost impossible to choose between the numerous nearly identical Java distributions, but for various reasons we can't just recommend one single JDK, because the compatibility table is... complicated. Nevertheless, here is my rationale. Let me know if I should change any of these links.
Microsoft OpenJDK
- It is the exact same binary shipped with the vanilla launcher, so in theory it should have slightly less issues than other distributions
- Microsoft OpenJDK is the only vendor that has explicitly promised permanent URLs for directly downloading the latest LTS. This means we can link directly to installers without the links going out of date.
- A notable exception is they lack short URLs for macOS
.pkgfiles. This may be coming in the future, though.
- A notable exception is they lack short URLs for macOS
- "Microsoft" is particularly non-scary name for a game made by Microsoft. Some users have misplaced fear of malware when they hear unknown names like Azul or Temurin
- They have aarch64 builds for Windows and macOS
- Con: They don't have Java 8 or any builds for x86
- Con: It is open source, but it lacks the open source build infrastructure that Adoptium has. But it's not like the other distributions have reproducible builds anyways.
Therefore, this is the best link to use for downloading JDK 17 for Windows x64 and aarch64, and macOS x64 and aarch64.
Temurin OpenJDK
- They have 32 bit builds for all platforms
- They have a good landing page with architecture detection when you press the JDK 17 download button
- They have a Debian repository to replace the missing jdk8 in Debian 10+
- Con: They do not have aarch64 builds of Java 8 for macOS
Therefore, this is the best link for downloading JDK 17 for Windows x86, JDK 8 for Windows, JDK 8 for macOS aarch64, and JDK 8 for Debian.
Azul OpenJDK
- They provide JDK 8 for macOS aarch64. The only other vendor that has this is Coretto
- Con: They have an awful landing page that has you scrolling through 2 pages of Azul's products before reaching the downloads section
Therefore, this is the best link for downloading JDK 8 for macOS aarch64.
❌ Amazon Coretto
- I've heard they have the most complete debug symbols, which could in rare cases help with a native code crash
- Otherwise a good Java distribution, similar to Temurin, Azul, Microsoft
- Con: Most confusing download page, you have to scroll a box that doesn't have a scrollbar
- Con: Nobody likes Amazon (has nothing to do with the quality of the distribution, but maybe someone out there will think Alexa will eat their PC if they use it)
It's not necessary to provide a link to this
❌ OpenJ9
- Con: Breaks compatibility with mods
It's not necessary to provide a link to this
❌ GraalVM
- Con: Breaks compatibility with mods
It's not necessary to provide a link to this
❌ Oracle Java
- Con: Oracle likes to sue their users
- Con: Certain downloads are gated by account signup. This is so they can collect info on your employer so they can sue you
It's not necessary to provide a link to this, except for Intel graphics workarounds
Linux section
I've changed the commands to download JDK instead of JRE, because some mods require a full JDK to be installed
More distributions are now named in the section titles. Added instructions for Alpine Linux, too.
Re-ordering of sections
For some reason "Using Java" was placed under "Special Cases", so I've moved it up

Deploy Preview for prismlauncher ready!
| Name | Link |
|---|---|
| Latest commit | 0c8ce0ce15cf080b823014a1a3e8f7e7f056bfaa |
| Latest deploy log | https://app.netlify.com/sites/prismlauncher/deploys/642108b1e7fa5800085d1bb4 |
| Deploy Preview | https://deploy-preview-250--prismlauncher.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
False, no mods require a full jdk
I'm fairly certain that there are a few mods that do. Can't remember the names of mod(s) but it has definitely popped up in the PrismLauncher discord, the Modded Minecraft discord, and /r/feedthebeastcrashes, usually with error logs that indicate some sort of dependency on a JDK-only components, the issue being fixed by installing the full JDK.
One practical problem that has popped up a ton in beginner mod development communities, is that when beginner modders download slimmed-down JREs instead of JDK, it breaks their IDE that was previously setup correctly, and puts them off learning programming.
Plus, it's usually only twice the size as a slimmed-down JRE, so very little disk space impact if it turns out it isn't needed.
and the vanilla launcher uses a custom jre
You're right, vanilla does contain a partially slimmed down JDK, though it still contains some components that are usually JDK-only. Edited to reflect this.
If I'm wrong, here is a revert: 3a38f3ae4c8ad7798ae656fadf2ccc523cfb43a8
very late but I am going to be looking into prs over my holidays ill look into this.
Converted this PR to a draft since this page will likely take an entirely different direction as documenting the java downloader will likely be prioritized. Feel free to open a new PR that uses any of my wording / formatting, and close this one when it's no longer relevant.
Would be great to have this merged though :(
Converted this PR to a draft since this page will likely take an entirely different direction as documenting the java downloader will likely be prioritized. Feel free to open a new PR that uses any of my wording / formatting, and close this one when it's no longer relevant.
I think I might still merge this but update it once the next pr is merged to make this a subcategory called "legacy java management"
The css fixes and such should also be added.
this is merged, my git local branches are screwed up so did a separate pr to merge. updated with main.