5 ms·
using the parent comments naming scheme it is actually 1.19, I don’t know why they stopped developing major releases however.
by Cwizard 4y ago
using the parent comments naming scheme it is actually 1.19, I don’t know why they stopped developing major releases however.
- kaba0 4y ago1.6 and 1.8 and the like were major releases. While LTS doesn’t have a well-defined meaning for OpenJDK, in general 11+6*n are the versions that are considered LTS (due to other vendors providing paid support for those). Let’s not read more into arbitrary version numbers.
- msgilligan 4y agoIt is now 11 and 17+4n
- babypuncher 4y agoThe real nightmare is Java's versioning scheme
- kasperni 4y agoThe version number increments by 1 every 6 months. What is so nightmarish about that?
- babypuncher 4y agoTo someone who has not written Java since High School in the '00s, I find the ecosystem a little confusing. My recent experience was this: I have a Windows box in my basement that hosts a Spigot Minecraft server for some friends and their kids. This box also hosts my UniFi controller software. The UniFi controller software requires Java 8, which is what Oracle offers for download on their website. Spigot usually requires the latest version, at the time I ran into this problem it was 17. You have to go out of your way and actually download the whole JDK for any Java version newer than 8. So I download and install JDK 17, which replaces the JRE 8 I already had running UniFi. Spigot works, and the UniFi controller appears to start up and function. However I quickly notice that the UniFi app is behaving erratically, and after some troubleshooting and googling, I learn that Java 17 is in fact not backwards compatible with Java 8, so both of them need to be installed. Of course, Java doesn't make installing multiple versions side by side easy. It's doable, but even then they built no mechanism for a jar file to specify which runtime it needs and automatically run with it. So I had to write my own startup scripts for these apps calling the specific runtime they required. None of this was particularly onerous to figure out and deal with, but your average user is going to get stuck and feel frustrated. And it left a bit of a sour taste in my mouth because .NET has done a pretty good job of avoiding exactly these kinds of problems.
- kaba0 4y agoWell, first of all there is indeed no JRE anymore, one is not supposed to install anything. The java program is supposed to be packaged up with a lean runtime executable that only contains the necessary parts, as this has been the trend for a long time. But in practice there are indeed a lot of jar files everywhere, that have to be run through a “JRE”. It sounds a lot like a package manager program to be honest (taken care by nix for example). But otherwise, I recommend sdkman to manage multiple java versions.
- TheRealPomax 4y agoBut that is not the java naming scheme. Java stared using normal major version numbers back in the Java 5 days. They've developed major releases continuously for decades.