随着Minecraft Java版 21w19a 快照版本发布,作为一名不算特别老的老玩家除了发现Mojang倒吸牙膏的行为之外还在更新日志中发现了这么一条:
Minecraft现在使用更新的Java版本。如果你使用的是默认设置,则正版启动器将自动下载并安装正确的版本。如果你使用的是自定义Java设置或者第三方启动器,则必须确保你安装了Java 16或者更新的版本。
标红字的部分需要特别引起注意,这意味着mojang开始决定把现今最老的作为长期支持版本的Java8扫进历史的垃圾堆,如果你有玩这次新版本快照或者以后的1.17正式版的打算,实际上手新版本Java后出现的问题找不到解决之处的话,不妨看看这篇文章

UP的主力Java版本已经是16
OpenJDK是甲骨文JavaJDK的开放源码版本,以GPL协议的形式发布。简单粗暴的想法可以理解为是开源版本的Java(这俩肯定还有更多不一样,但是你只是玩MC就暂且这么理解吧,实在想找就去自行搜索吧),同时这俩的授权协议也有所不同,OpenJDK采用GPL V2协议发布,而JDK则采用JRL协议发布。两个协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。换句话说,这部分跟个人玩家没什么关系,但如果你是个开MCJava服务器的腐竹同志……尤其是服务器还涉及到运营资金捐赠的那种,为了规避不必要的法律风险还是尽量选择OpenJDK吧,或者你实在是有闲钱的可以去买甲骨文的Java EE(企业版Java运行环境)
很简单,因为大部分OpenJDK和甲骨文的Java都已经不内置JavaFX库了,而HMCL启动器就是基于这个库编写的启动器,出现这个问题其实跟玩游戏时提示缺少****.dll是同样的道理。这里有几种解决办法:
①HMCL最新的开发版增加了JavaFX库的自动补全功能,所以直接去官网下载新的开发版即可(开发版可能会有未知BUG,如果你想求稳那就往下看吧)。
②使用官方启动器或者其他不基于JavaFX运行库编写的第三方启动器。
③不卸载或者重新装回原有的Java8,与Java16共存,之后通过启动器里单独设置新版本的MC使用Java16(推荐大部分玩家这样做,尤其是你同时还在玩1.12及以前版本的话)
④单独下载JavaFX库并进行安装和配置变量操作(没有一定动手能力的小白不推荐)
⑤安装包含了OpenJFX库的OpenJDK发行版