4 ms·
The JDK requires no installation, and the concept of a "desktop system JRE" is no longer recommended; in fact, a JRE is no longer shipped. The recommended pract
by pron 7y ago
The JDK requires no installation, and the concept of a "desktop system JRE" is no longer recommended; in fact, a JRE is no longer shipped. The recommended practice is for developers to bundle a custom, minimized version of the runtime with their application (using jlink). End users shouldn't install any Java runtime anymore.
> After the bait and switch with the licensing for the original Java distribution
The product known as OracleJDK used to be part free, part commercial, based on which features you used. JRE downloads also used to contain that annoying search toolbar. What we at Oracle have done is completely open-source the JDK, for the first time in its history, and release it under two licenses: a free license, and a license for those who wish to buy support. There is a large clear warning on each download page guiding people to the distribution they need. I think most people agree that this is a very welcome change, and I see no bait and switch.
- tjohns 7y agoI know desktop system JRE's aren't recommended any more, but there's still plenty of apps out there that require them. I literally ran into this last week. I am glad to hear the toolbar on the JRE is gone, and I'm glad there's a prominent notice on the download pages - but there's effectively no free official standalone JRE for commercial use anymore.
- pron 7y agoThat's because a system JRE is the old way of doing things -- and moving away from that wasn't arbitrary; desktops are encouraging app stores, and servers are using containers -- and we want our OpenJDK developers (I'm one of those) to focus on the new way of doing things. Oracle doesn't have control over an ecosystem that could generate billions, like Google with Android or Apple with iOS, so to pay the hundreds of full-time developers who develop OpenJDK, we charge those who want to do things the old way for support. So if you don't want to switch to the new way of doing things, you have a few options: * Download a JRE with an installer from someone else who builds and distributes it; I don't know about certified distributions, but I think Adopt ships something JRE-like. * Buy support from Oracle (and help fund OpenJDK's development). * Build a JRE yourself from the JDK and package it with an installer. I think that's reasonable.
- vbezhenar 7y agoWithout installation on Windows `Preferences.systemRoot();` writes bunch of log errors in stderr. It tries to create HLKM\Software\JavaSoft\Prefs. Installer creates that registry node, so it works just fine after that. I don't know if it's a bug or intended behaviour.
- pron 7y agoWhich version are you using? This could be this issue[1], fixed in 9. [1]: https://bugs.openjdk.java.net/browse/JDK-8139507 https://bugs.openjdk.java.net/browse/JDK-8139507
- deleted 7y ago[deleted]
- vbezhenar 7y agoI checked on latest 12.0.2+10 it's still reproduced.
- pron 7y agoAh, creating the root node requires admin privileges. If you're distributing an application, you'll need your application's installer to run as admin and create the root node. Consider if that is what you really want, but it does require your users to run something as admin. This does not justify installing the JDK, as your users wouldn't (or shouldn't) do that, anyway.