11 ms·
AdoptOpenJDK: Open-source, prebuilt OpenJDK binaries
- java-man 7y agoPlease add an option with JavaFX bundled.
- murkle 7y agoJavaFX included in builds from here (branded "Zulu FX"): https://www.azul.com/downloads/zulu-community/ https://www.azul.com/downloads/zulu-community/ (select JRE FX or JDK FX from the dropdown I guess - they've changed the download page recently)
- java-man 7y agoMay be it's just me, but on Mac the process is rather convoluted, and is certainly not optimized for end user.
- karianna 7y agoWe hear you - it's being worked on for 11+. 8 we're not so sure bout as the OpenJFX version there is unmaintained
- java-man 7y agoThank you!
- hs86 7y agoOn 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/AdoptOpenJDK/homebrew-openjdk https://github.com/lukesampson/scoop/wiki/Java https://github.com/lukesampson/scoop/wiki/Java
- pkulak 7y agoAnd SDK Man, which is fantastic: https://sdkman.io/ https://sdkman.io/
- thomascgalvin 7y agoSDKMan is a thing of beauty. Completely changed the way I work with the Java ecosystem.
- michaelmior 7y agoThanks 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 https://github.com/shyiko/jabba
- hiram112 7y agoAnyone ever tried the Eclipse OpenJ9 VM? I've never heard of it, but it might be fun to see if there's a difference with my various apps and performance in an IDE. I've just been hearing a lot of fuss about GraalVM, though haven't had time to investigate what's so special about it nor how it might help typical 'enterprise' services and Java apps.
- rjsw 7y agoI have used really old versions of J9 on StrongARM systems, it was faster than the Sun JVM at the time as there was no JIT for the Sun one.
- jm2dev 7y agoI used it as a replacement for openjdk 8, and I was very happy with the results. Keep in mind there are a few attributes that differ, but the documentation was very clear on that.
- pron 7y agoJust note that, while the download page is confusing about this point, the OpenJ9 distribution is not OpenJDK; it's a completely separate project, albeit one that copies much of the OpenJDK code. OpenJDK release notes are largely irrelevant to the OpenJ9 build.
- pjmlp 7y agoYes, as part of Websphere. It was quite good in the past and one of the first to support JIT caching. Never used it after it went open source though.
- jeffreportmill1 7y agoPlease add an option for JRE in the browser - JRE compiled to JavaScript or WASM (like CheerpJ or TeaVM).
- rjsw 7y agoDon't see the point in this unless someone were to write a HotSpot backend that generated WASM.
- microcolonel 7y agoSeems 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?
- richdougherty 7y agoJava 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/Overview.md https://github.com/WebAssembly/gc/blob/master/proposals/gc/O...
- solarkraft 7y agoDoes the OpenJDK project not offer open source, pre-built binaries already?
- thayne 7y agoI think they do, but Oracle recently announced they won't be backporting security patches to older versions of the open source OpenJDK distributions. As I understand it AdoptOpenJDK is a third party effort to continue supporting the free verisions of older versions of java after Oracle abandons them.
- deleted 7y ago[deleted]
- pron 7y agoNo. It's a source-only project. Various companies and organization provide both certified and uncertified builds. There are certified builds from Oracle, Red Hat, SAP, Azul (Amazon and Alibaba provide builds of OpenJDK forks), and uncertified builds from Adopt (that also provides OpenJ9 distributions, which are very much not OpenJDK).
- shipilev 7y agoThere are many OpenJDK(-based) distributions out there, mostly built from the OpenJDK {8, 11} Update Releases sources. AdoptOpenJDK provides one of those distributions. Most of the actual backport work is done by the OpenJDK participants, notably people from Red Hat (like me), SAP, Amazon, Azul and others. Oracle does not participate in OpenJDK 8u/11u directly, opting to maintain their separate tree, from which they build Oracle JDK 8u/11u available under the commercial license. There is also a security collaboration between many companies (OpenJDK Vulnerability Group), which drops its deliverables in relevant source trees. At one point, I tried to draw this map to show the bird's eye view on the landscape: https://shipilev.net/jdk-updates/map/ https://shipilev.net/jdk-updates/map/ -- you can find AdoptOpenJDK there. What gets people confused is http://openjdk.java.net/ http://openjdk.java.net/ linking to Oracle distribution (either at jdk.java.net, or Oracle site). That might be seen as "OpenJDK providing the binaries", but it is actually not: it links to one of the distribution providers.
- throwaway8941 7y agoRedHat also provides OpenJDK builds for free, although hidden behind a developer account registration. https://developers.redhat.com/products/openjdk/download https://developers.redhat.com/products/openjdk/download
- shipilev 7y agoRed Hat also provides binaries built from the unmodified OpenJDK source here: https://adoptopenjdk.net/upstream.html https://adoptopenjdk.net/upstream.html -- which could be downloaded without developer account.
- alexhutcheson 7y agoAdoptOpenJDK is sponsored by RedHat (among others).
- cowmix 7y agoDoes the Amazon JDK binary distribution compete with this?
- meddlepal 7y agoTechnically? Yes, Correto is it's own separate distribution that Amazon manages porting upstream changes into. Same as how Azul's Zulu is a "competitor" as well. Practically speaking, it shouldn't matter as they all pass the Java TCK.
- needusername 7y ago1. AdoptOpenJDK does not run the TCK. 2. Corretto and Zulu each have their own patch set. Corretto backports a couple of G1 fixes and Zulu backports Flight Recorder and TLS 1.3.
- vips7L 7y agoMicrosoft just bought jClarity the developers of AdoptOpenJDK
- pron 7y agoOracle's OpenJDK binaries are here: http://jdk.java.net/ http://jdk.java.net/
- tjohns 7y agoAt least the MacOS binaries from Oracle are not packaged in a user-friendly manner. You just get a zip file containing JAVA_HOME, and it's up to the user to know what to do with this. Apple requires you to copy this to a very specific, deeply nested, hidden system directory. That's definitely not something I could ask an end user to deal with. After the bait and switch with the licensing for the original Java distribution, I'm not comfortable downloading anything from Oracle anyway. It's just too risky.
- carimura 7y agoWhat requirement does Apple put on the JDK location? All of mine are in ~/lib/* and are easy to manage. JENV for bonus points. Definitely not a double-click-install experience, but not hard to figure out for anyone with a bit of terminal experience.
- tjohns 7y agoIf you want it to be recognized by the system as a valid runtime for Java apps, I believe it needs to be in /Library/Java/JavaVirtualMachines/jdk${VERSION}.jdk/Contents/Home/.
- pron 7y agoThe 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.
- latchkey 7y agoYou don't need extra projects to manage this stuff anymore. There is a great answer here... https://stackoverflow.com/questions/52524112/how-do-i-install-java-on-mac-osx-allowing-version-switching https://stackoverflow.com/questions/52524112/how-do-i-instal... brew install java (12) brew install java11 And you can simplify things... In your .bashrc: export JDK_HOME=`/usr/libexec/java_home -v 12` # v9+ change to the version you installed export JAVA_PATH=$JDK_HOME export JAVA_HOME=$JDK_HOME export PATH="." export PATH="${PATH}:${JAVA_HOME}/bin"
- notyourwork 7y agoIncredible, thanks for sharing this.
- giancarlostoro 7y agoHomebrew is only useful for macOS users though sadly.
- bradyd 7y agoHomebrew will work on Linux and the Windows Subsystem for Linux as well. I'm not sure how well it works there, though, as I've only used it on macOS. https://docs.brew.sh/Homebrew-on-Linux https://docs.brew.sh/Homebrew-on-Linux
- microcolonel 7y agoOn Arch Linux, OpenJDKs from 8 through 12 are packaged in the main repositories, and there's a convenient shell utility for switching them (with symlinks, rather than environment variables, so that you can change the default in shells that have already started).
- nobleach 7y agoI'm a big fan of SDKMan for handling my Java/Kotlin/Gradle releases. It works across all the major platforms. Homebrew is great on macOS, but kinda non-existent on other platforms.
- 7y ago
- mrbonner 7y agoOne of the company with large contribution to the AdoptOpenJDK is jClarity. jClarity got purchased by Microsoft a few days ago. Are we seeing MS more involvement for JDK development from now on? They are pushing it big for .NET platform but the JVM consumption is a huge market opportunity. With MS strategy of going all in in cloud computing, supporting the JVM is a no-brainer to me.
- needusername 7y agoHonest question, do any of the current jClarity employees actually do upstream OpenJDK development? I know they build tools around Java but I'm not aware that any of the current employees take part in upstream OpenJDK development eg. at least have a JBS account. Maybe I'm just misinformed.
- mrbonner 7y agoFrom what I know, jClarity is only contributing financial support to the AdoptOpenJDK platform: build farm, hosting binaries. I don’t think they do backport of securities or bug fixes for expired releases like Redhat or Amazon does.
- karianna 7y agoWe had started to submit actual patches and work yes, that will now increase at MSFT. (ex jClaritt CEO here)
- dahfizz 7y agoI assume this is mostly for windows? All Linux and I assume Mac has openjdk available in the repos. The openjdk project itself also hosts binaries for *Nix
- kjeetgill 7y agoIt can be helpful to just pull binaries from AdoptOpenJDK when you know you want a very specific version. System packages shift around minor versions which is fine 99% of the time (given Java's compatibility especially). I've occasionally needed to work around a bug in a specific version.
- CameronNemo 7y agoHomebrew uses adoptopenjdk.
- Traubenfuchs 7y agoIn windows you have chocolately. (The brew equivalent of windows)
- anonymousJim12 7y agoWhat are the rules around distributing OpenJDK as part of a commercial software/hardware product?
- teh_klev 7y agoThe licensing section should answer that question: https://adoptopenjdk.net/about.html https://adoptopenjdk.net/about.html
- nikolay 7y agoWe've been using it on Docker and love it.
- vbezhenar 7y agoAnother good alternative is Azul Open JDK build.
- agapon 7y agoNotable omissions: any BSD platform.
- karianna 7y agoWe're chatting to the FreeBSD and OpenBSD folks about this.
- needusername 7y agoIt should be noted that AdoptOpenJDK does not run the TCK against these binaries so they can not be called a compatible Java implementation.
- bad_user 7y agoThe 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.
- needusername 7y agoYet any other OpenJDK distribution from Alibaba, Amazon, Azul, BellSoft, RedHat, SAP (I probably forgot some) all run the TCK. All except AdoptOpenJDK. And whenever you bring that up the only response is ranting about the TCK.
- bad_user 7y agoAll the companies you mentioned have backroom commercial agreements with Oracle, which is why they are allowed to run the TCK. The existence and reliance on that TCK however means that Java is NOT an open platform, not as long as you insist on having implementations pass the TCK, compliance that's defined by whatever Oracle wants. And lets be clear about this, we are talking about what Oracle wants, not about JCP, which btw is only a farce of a standards body, not a real one. This problem is old and I invite people to not be ignorant about the issue at play. Please read Apache's open letter to the former Sun Microsystems, as it does justice to this issue better than I could: https://www.apache.org/jcp/sunopenletter.html https://www.apache.org/jcp/sunopenletter.html --- The irony of the situation is that the direct competition, .NET and C#, are managed by a real standards body and alternative open source implementations (e.g. Mono) have been allowed to exist, without backroom deals with Microsoft ;-)
- karianna 7y agoNo ranting from us :-). We've not been granted access to the TCK and we continue to hold an open dialogue with Oracle on this. We hope to get this resolved down the line!
- mister_hn 7y agoi wish there were still 32 bit JDKs for Java11+
- karianna 7y agoThere is for Windows and ARM32 - we're looking at Linux x86 (32bit) but not 100% sure we'll be able to deliver that.