Live data from Hacker News

AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

adoptopenjdk.net

61–70 of 91 posts

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#61
post #14
post #3

On macOS and Windows their various builds are also available over the Homebrew and Scoop package managers: https://github.com/AdoptOpenJDK/homebrew-openjdk https://github.com/lukesampson/scoop/wiki/Java

And SDK Man, which is fantastic: https://sdkman.io/

SDKMan is a thing of beauty. Completely changed the way I work with the Java ecosystem.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#62

Please add an option for JRE in the browser - JRE compiled to JavaScript or WASM (like CheerpJ or TeaVM).

Seems maybe strange to run a JIT on a JIT. There are some smaller JVMs that likely wouldn't need to be that different, but running HotSpot on WASM, particularly in the browser, seems strange. Why not compile your classes to WASM instead?

Java would work ok with AOT compilation. The major thing missing for running Java and many other languages on WASM would be garbage collection.

https://github.com/WebAssembly/gc/blob/master/proposals/gc/O...

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#63

It should be noted that AdoptOpenJDK does not run the TCK against these binaries so they can not be called a compatible Java implementation.

The TCK is not open, it isn't governed by a standards body, the TCL is completely in Oracle's control.

If Java is to evolve as an open platform, it needs to break free from the TCK that disallowed Apache Harmony to exist.

We don't need it and an independent TCK could be developed.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#65
post #48
post #36

Earlier quoted context omitted.

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…

I 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.

That'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.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#66
post #17

Oracle's OpenJDK binaries are here: http://jdk.java.net/

This has been my hell trying to navigate for the past year. As a general rule, anyone who can't commit to updating and testing their software to run on the latest JDK ever 6 months should avoid the Oracle OpenJDK binaries like the plague since support for even LTS versions of Java is dropped 6 months after initial release.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#67
post #14
post #3

On macOS and Windows their various builds are also available over the Homebrew and Scoop package managers: https://github.com/AdoptOpenJDK/homebrew-openjdk https://github.com/lukesampson/scoop/wiki/Java

And SDK Man, which is fantastic: https://sdkman.io/

Thanks for this. I've been using Jabba[0] for Java which works pretty well, but I'd be curious to check this out. Although I don't know about everything SDKMAN supports, but it seems a lot of these are better handled elsewhere in most cases. For example, Maven via mvnw, gradle via gradlew, sbt can specify its own version, etc. That said, I'm sure there are good use cases for managing these things via SDKMAN.

[0] https://github.com/shyiko/jabba

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#68
post #49

Earlier quoted context omitted.

> Why are you asking your end-users to manually install your development dependencies, though? If you want to run a legacy desktop Java application (without bundled JRE - and yes, there's still plenty of these apps out there), MacOS will actually do the prompting for you. And it takes you to the commercial JRE download page, which isn't something I'm willing to install. So the only reasonable option I could find as a…

I'd argue that you're doing this all at too low-level - users shouldn't have to see JAR files - they don't know what those are. You should encapsulate the JAR and the JRE in a package.

One should but, as this has never been necessary on macOS, it would be highly unusual.

Java is considered a system-wide framework, even when installed by the user. macOS treats Java applications specially in order to provide them with special macOS-only functionality; for instance, when an application bundle is launched that requires the JRE, the system will open a notification informing the user that a JRE must be installed and provides a helpful link.

There is a further assumption that the version of Java that a user installs will also include a self-updater, ensuring that the user always has the latest version of Java installed to mitigate security issues from using old versions.

The recent modification of Java's licence doesn't seem sufficient impetus to change this behaviour on which all Java applications have depended since Mac OS X first released, one that even continued after Java was deprecated as a built-in installation option.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#69
post #66
post #17

Oracle's OpenJDK binaries are here: http://jdk.java.net/

This has been my hell trying to navigate for the past year. As a general rule, anyone who can't commit to updating and testing their software to run on the latest JDK ever 6 months should avoid the Oracle OpenJDK binaries like the plague since support for even LTS versions of Java is dropped 6 months after initial release.

Whether you use LTS versions or not, you must update your JDK every 3 months or so to stay secure, and must perform full regression tests. That we've recently changed the version naming scheme and started giving the 6-monthly updates new integer numbers does not make them major releases. I understand that people are confused because LTS and feature releases perhaps mean something different for Java than for other products, but the probability of an update breaking your app to the point you need to change code isn't much higher for a feature release than for an LTS patch. Updating to feature releases is overall cheaper and easier, it just requires companies to adapt. We realize change is hard and it will take time, but we believe this is the right approach. Those who have made the transition seem to agree.

Re: AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries

#70

Earlier quoted context omitted.

I'd argue that you're doing this all at too low-level - users shouldn't have to see JAR files - they don't know what those are. You should encapsulate the JAR and the JRE in a package.

One should but, as this has never been necessary on macOS, it would be highly unusual. Java is considered a system-wide framework, even when installed by the user. macOS treats Java applications specially in order to provide them with special macOS-only functionality; for instance, when an application bundle is launched that requires the JRE, the system will open a notification informing the user that a JRE must be i…

The reason Java is no longer a system-wide framework, and the assumption that it is has to change, has nothing to do with the recent shift from a semi-free/semi-paid JDK to a 100% free one, and everything to do with the fact that the entire software ecosystem has changed and Java must change with it. Desktop OSes encourage the app store model, and people deploy server applications in containers; neither of these is particularly hospitable to a system-wide runtime. The majority of both developers and end-users prefer a bundled deployment model that fits better with the current software environment (and also gives developer better control over their application's dependencies). If Oracle were to support popular deployment options as well as those that were popular years ago but some people still like, it would come at the expense of other things, like moving the platform forward.
Post reply on HN