AdoptOpenJDK Frequently Asked Questions

As well as basic tar and zip files that can be extracted onto your filesystem and installers from the main download pages, AdoptOpenJDK also provides package repositories for various platforms. In addition to that various third-party package managers have support for installing AdoptOpenJDK packages:

The answer to this depends on which version you are interested in. First, identify the major Java release which will be the first number after jdk in the release name. For example for jdk8u232-b09 the release is 8 for jdk-11.0.5+10 it is 11

HotSpot
  1. Start by cloning the HotSpot codebase for the version you want. For example, replace the version number 8 with the one you want in the following repository: https://github.com/adoptopenjdk/openjdk-jdk8u

  2. When you've done that, change into the directory and checkout the release name with an _adopt suffix e.g. git checkout jdk8u232-b09_adopt. See this issue for an explanation as to where that tag comes from.

OpenJ9
  1. Checkout the OpenJ9 "extensions" repository for the release you are interested in e.g. https://github.com/ibmruntimes/openj9-openjdk-jdk8 (Replace 8 with the major Java version you are interested in).

  2. Next, identify the openj9 branch you are interested in. For example, for either jdk8u222-b10_openj9-0.15.1 or jdk-11.0.4+11_openj9-0.15.1 it would be openj9-0.15.1.

  3. Then you can checkout that branch of the extensions repository e.g. git checkout openj9-0.15.1 Note that the checkout does NOT contain the underlying Java version in the OpenJ9 case.

  4. Once you've done this, change into the directory and run ./get_source.sh which pulls in the correct dependencies for that release from the OpenJ9 and OMR repositories

We often get asked questions about Java-related technologies that are not necessarily part of the base OpenJDK codebase. As a rule we build what is in the upstream OpenKJDK source and nothing more as part of our deliverables (with the exception of IcedTea-WEB which is included in our macOS and Windows installers - although not the tar and zip downloads). Some more information on these components are included in the AdoptOpenJDK migration guide but here are some common questions about the third-party components:

IcedTea-WEB (WebStart support)

IcedTea-WEB is the open implementation of the Java web start component that was included in the Oracle JDK but is not part of the openjdk codebase. The IcedTea-WEB project is now hosted under the AdoptOpenJDK project in the IcedTea-WEB repository and we build and ship as a standalone download that can be used with our other OpenJDK downloads. We do not include support for Java applets as they are generally considered insecure and most modern browsers do not allow for such plugins to be installed any more.

JavaFX

Like IcedTea-WEB JavaFX was included in the Oracle JDK but is not part of the OpenJDK codebase. The open-source project page is at openjfx.io and binaries can be obtained from Gluon. We do not currently ship any JavaFX support via AdoptOpenJDK. If you want to build it yourself, check out the instructions from the OpenJFX project

GraalVM

While the community edition of Graal is available for all to build, we do not currently have an offering for this. Some experimental builds have been done by the team on Linux/x64, macOS and Windows though they are not currently being actively maintained

If you are an end-user of our builds, we would first recommend trying it with the latest version of the release (i.e. the latest JDK8, JDK11 etc.) as bugs are frequently fixed in the updates. If the problem still occurs with the latest one, check to see if it works with other providers' builds (Such as Oracle's if you can) or the upstream OpenJDK builds available via our web site.

Once you've done that, feel free to raise an issue in the openjdk-support repository to bring it to our attention and we will attempt to look into it if possible and determine the cause. Bear in mind that the AdoptOpenJDK team does not provide commercial support for our builds, although other providers do.

We fully support the notion that Java Is Still Free. The JDK and JRE binaries we produce are published under the GPLv2 with Classpath Exception and OpenJDK Assembly Exception (often referred to as GPL2+CE), and you don’t have any additional obligations imposed by the AdoptOpenJDK project beyond the terms of that license. For example, we have no additional requirement for you to reference or credit the AdoptOpenJDK project. We cannot provide legal advice, and if you have any questions about the license or exceptions you should consult your own legal counsel.

Now that the trickier questions are out of the way, here are the rest of the things we get regularly asked:

Why do my fonts look weird?

Some commercial implementations of Java use relicensed Lucinda fonts but AdoptOpenJDK as a fully open implementation does not. For this reason, you may find some visible font differences between AdoptOpenJDK and other providers.

Something in the GUI isn't rendering properly with AdoptOpenJDK but it does with other providers!

For JDK8, Oracle's JDK used a renderer called Ductus. For JDK9 and later Oracle's JDK and OpenJDK (and therefore AdoptOpenJDK) use the Marlin renderer. For JDK8, AdoptOpenJDK is using an open-source renderer called Pisces. This may result in differences between AdoptOpenJDK and Oracle when running JDK8. Work is planned to switch to using Marlin for JDK8

Can I get JDK Mission Control (JMC) for AdoptOpenJDK?

Yes! We provide downloads of JMC which are built through our CI

What is the difference between HotSpot and OpenJ9 downloads?

HotSpot is the default Java Virtual Machine that is included in the OpenJDK codebase. OpenJ9 is an alternative Java Virtual Machine developed by IBM for its own proprietory JVM and was open-sourced in 2017. You may find that OpenJ9 uses less memory than the HotSpot variants. Have a look at the OpenJ9 FAQ or the transition document for more information

What are the OpenJ9 "Large Heap" variants?

The Large Heap variants of the OpenJ9 builds (also known as the "non-compressed references builds) allow for Java heap sizes greater than 57Gb. If you need heap sizes that large, then pick the large heap versions (they have XL in the download filenames). The large heap versions are not on all platforms but the number has increased over time.

I'm worried about security vulnerabilities in your project compared to other OpenJDK implementations

The AdoptOpenJDK project does not work on security vulnerability updates independently of the community code base held at OpenJDK. For bugs including security issues, we work with the OpenJDK project to fix bugs there, and then build, test and distribute the code here. The OpenJDK LTS updates projects are working on vulnerabilities that are discussed amongst members of the OpenJDK Vulnerability Group. Patches to fix those vulnerabilities are applied to the appropriate OpenJDK repository ‘upstream’, and then we build, test and distribute the resulting binaries at AdoptOpenJDK. We do not compete with OpenJDK, we work together with them and address security vulnerabilities together.

What are the CPU and PSU updates and which do you build?

AdoptOpenJDK ships binaries based on the PSU (Patch Set Update) release for the quarterly updates. This contains additional fixes from the CPU (Critical Patch Update) and due to the very high levels of testing which the AdoptOpenJDK project runs on our release builds we are confident enough that the additional fixes in the PSU updates will not cause any problems.

How can I get commercial support for AdoptOpenJDK binaries

The AdoptOpenJDK project does not itself provide commercial support for the binaries we produce, however, if you find and issue please raise it in the openjdk-support repository. If you need a stronger level of formal support, check out the support pages for the current list of commercial support providers for the AdoptOpenJDK binaries

Do you provide 32-bit builds?

Most of our builds are 64-bit only. The exceptions are arm32 so you can run our builds on your raspberry pi and other such devices, and HotSpot windows builds are also available in 32-bit versions. A Windows 32-bit version is also available for OpenJ9 but only for JDK8. We have had requests for 32-bit Linux/x86 but they are not available in our build farm at the moment.

I want to contribute to the project but I'm lost - where do I start?

Glad you asked - please do! An initial overview can be found in the readme in the TSC repository. Also, we suggest joining the Slack channels as a lot of the discussion happens in those as well as GitHub issues. We also have a Get involved page

So what is the TSC?

They are our overlords :-) Seriously, the TSC (Technical Steering Committee) is a group of people who run the AdoptOpenJDK project. Despite the name, most technical decisions are taken outside the TSC and only escalated to the TSC if issues arise. You will find that they are frequently the people responding to issues in GitHub and also in slack. Business decisions, the scope of the project, and management of finances is all done by the TSC. If you want something discussed by the TSC or need a decision from them please raise an issue in the GitHub TSC repository (or add the TSC-agenda label elsewhere) as that will generally flag it for inclusion in a future TSC meeting. The current TSC members with their affiliation are listed here. The TSC members also approve all releases.

Quality 

Supported Platforms 

Submit Issue