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+.
**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: