Important Java Update (Java 11/16/17)

Status
Not open for further replies.

Richard_BN

BeastNode Staff
Dec 18, 2015
554
128
108
The Realm of Obscurity.
With Mojang making the move in the recent Minecraft 1.17 snapshots to finally bump the version of Java that Minecraft is built against from Java 8 to Java 16 any newer snapshots, 1.17 and all future releases of Minecraft will require Java 16 to work - they will not work at all with Java 8.
**This has now been bumped again in the 1.18 Pre-Releases to require Java 17 for 18 Pre-Release 2 and newer.

Up until now Java 8 has been the only version of Java we have provided, as that is what every version of Minecraft up to now has been built against and is the supported Java version for all Minecraft releases up to 1.16.5 - some softwares/server versions have supported other versions of Java, but Java 8 has remained the main supported version.

With the changes Mojang have made we now provide Java 8, Java 16 and Java 17 on all of our systems. Java 11 is also provided due to a few niche softwares requiring this over Java 8, but not supporting Java 16/17, but for the most part you should not need this.
All jar list options running on Minecraft 1.16.5 and older are using Java 8 as they always have been (as older Minecraft versions prior to the update to Java 8 in 1.12 all work with Java 8) - any jar list options running on Minecraft 1.17/1.17.1 run on Java 16 and any options running 1.18 or newer will run on Java 17.

We now also have separate Custom Server JAR options available for use - for Java 8, 11, 16 and 17 - so you can choose which one you need or prefer for your setup. To use these options select the one you want on the list and rename your server jar accordingly:
- Java 8: custom_server.jar
- Java 11: custom_server_j11.jar
- Java 16: custom_server_j16.jar
- Java 17: custom_server_j17.jar

This also means that you can now use, as an example, Java 16 on 1.16.5 and older options if you would prefer for any reason.
As per the example if you are using the PaperSpigot 1.16.5 option right now, which is using Java 8, and wish to use it with Java 16 you would go into your server files and rename the paper_spigot_1.16.5.jar file in the jar folder to custom_server_j16.jar, then select the Custom Server JAR option on the jar list for Java 16 and when the page refreshes restart your server. PaperSpigot 1.16.5 will load the same as always, but using Java 16 instead (this can be done with any setup, just make sure it is compatible with Java 16 and that you rename the correct server jar).

Please note however -
While Java itself is highly backwards compatible, that does not mean that any software that works with Java 8 will work with Java 16.

This is particularly an annoyance with the number of plugin developers that have started dropping support for Java 8 for their plugins, but the versions of Minecraft they are for are 1.16.5 or older.
If you swap your setup to use Java 11/16/17 instead so you can use these plugins there is no guarantee that your other plugins will work flawlessly - if they have hard coded in which version of Java the plugin will load with, and Java 11/16/17 is not that version, those plugins will stop working (unless the developers update to add support for newer Java versions).

In general it is very poor practice for server softwares - whether that be server jars, mods or plugins - to drop support for the Java version that that version of Minecraft is built around. Minecraft 1.16.5 and older use Java 8 and all software for those Minecraft versions should continue to support Java 8 - only softwares for Minecraft 1.17 and newer should be dropping Java 8 support, in favour of Java 16 for Minecraft 1.17/1.17.1 and Java 17 for Minecraft 1.18+.
 
Last edited:

Richard_BN

BeastNode Staff
Dec 18, 2015
554
128
108
The Realm of Obscurity.
Java 11 is now also available.

The only jar list option that uses Java 11 by default currently is the Mohist 1.16.5 option - however, as with Java 8 and 16 there is now a Custom Server JAR option to allow you to use Java 11 if you wish/need to. Simply name your server jar custom_server_j11.jar and use the Custom Server JAR option labelled for Java 11 on the jar list.
 

Richard_BN

BeastNode Staff
Dec 18, 2015
554
128
108
The Realm of Obscurity.
Java 17 is also now available - OP updated regarding this.
At this time anything running on Minecraft 1.16.5 or older should use Java 8, Minecraft 1.17/1.17.1 uses Java 16 (and the 1.18 snapshots and first pre-release) and 1.18 (and pre-releases 2 onwards) use Java 17.

Unless you specifically require something else this is what should be used for any custom installations (Java 11 being used only for some niche softwares) - using a different Java version to the one the server software was built around may cause issues, whether it "supports" it or not (this being why we do not recommend using plugins that require newer Java versions, as updating the Java version so you can use that plugin has the potential to trigger issues in the server software and/or plugins that otherwise would not be there, and some plugins may not work with the newer Java version at all).
 
Status
Not open for further replies.