JDK vendors

JDK vendors#

cjdk allows you to choose among JDKs and JREs released from different sources. Names such as adoptium, zulu-jre, or graalvm-community are used to select a particular series of JDKs. These names are referred to as “vendors”, even though they do not map 1:1 to companies.

If no vendor is specified, adoptium is used unless the environment variable CJDK_VENDOR is set to an alternative default.

About available vendors#

The available set of vendors is determined by the JDK index and is not built into cjdk itself.

Common vendor names for full JDKs include temurin, zulu, liberica, corretto, ibm-semeru, and graalvm-community. Common vendor names for JREs include temurin-jre, zulu-jre, and liberica-jre.

Note

Eclipse Temurin was previously known as AdoptOpenJDK. To specifically get AdoptOpenJDK releases, use adopt; to specifically get Temurin releases, use temurin; adoptium will get a Temurin release if available, falling back to AdoptOpenJDK for older versions. (This behavior is defined by the index, not cjdk itself.)

Note

For GraalVM, the recommended vendor name is graalvm-community, which uses Java-version-aligned numbering (e.g., version 21.0.2 is for Java 21). Legacy vendors graalvm (Java 8), graalvm-java11, graalvm-java17, etc., are also available; these use GraalVM release version numbers (e.g., 22.3.3) which are independent of the Java version. The -javaN suffix indicates the Java version.

Note

For IBM Semeru, use ibm-semeru. There are also vendor names like ibm-semeru-openj9-java11 (per Java major version), containing JDK versions that include an OpenJ9 VM version suffix (e.g., 11.0.29+7_openj9-0.56.0).