🌐
OpenLogic
openlogic.com › openjdk-downloads
OpenJDK Downloads | OpenLogic
OpenLogic now provides free, quarterly builds of OpenJDK 8, OpenJDK 11, OpenJDK 17, and OpenJDK 21 for Linux, Windows, and MacOS. ... Note: Open source OpenJDK is provided free of charge and "as is", without warranty of any kind, express or implied. In no event shall Perforce Software, Inc. or its affiliates be liable for any claim, damages, or other liability arising from out of or in connection with open source OpenJDK software downloaded from this site.
Java development kit
OpenJDK (Open Java Development Kit) is an implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006, four years before the … Wikipedia
Factsheet
Original author Sun Microsystems
Developers Oracle, OpenJDK and Java Community, Red Hat, Azul Systems, IBM, Microsoft, Amazon, Apple, SAP
Release May 8, 2007; 19 years ago (2007-05-08)
Factsheet
Original author Sun Microsystems
Developers Oracle, OpenJDK and Java Community, Red Hat, Azul Systems, IBM, Microsoft, Amazon, Apple, SAP
Release May 8, 2007; 19 years ago (2007-05-08)
🌐
OpenJDK
openjdk.org
OpenJDK
Learn about the key active Projects in the Community including Amber (high-productivity language features), Babylon (foreign programming models), Leyden (better startup and warmup), Loom (lightweight concurrency), Panama (foreign functions and foreign data), Valhalla (primitive types and ...
🌐
OpenJDK
openjdk.org › projects › jdk › 17
JDK 17
JDK 17 is the open-source reference implementation of version 17 of the Java SE Platform, as specified by by JSR 390 in the Java Community Process.
🌐
Oracle
jdk.java.net › 17
JDK 17 Releases - Java.NET
JDK 17 has been superseded. Please visit jdk.java.net for the current version. Older releases, which do not include the most up to date security vulnerability fixes and are no longer recommended for use in production, remain available in the OpenJDK Archive.
🌐
Microsoft Learn
learn.microsoft.com › en-us › java › openjdk › download
Download the Microsoft Build of OpenJDK | Microsoft Learn
April 30, 2026 - The following tables provide links ... .sig files. If you still require Java 8, you can download any of the Eclipse Temurin builds of OpenJDK 8 from the Eclipse Adoptium project....
🌐
Oracle
oracle.com › java › technologies › javase › jdk17-archive-downloads.html
Java Archive Downloads - Java SE 17.0.12 and earlier
Go to the Oracle Java Archive page. This page includes archive downloads for JDK 17 updates 17.0.12 and earlier.
🌐
Adoptium
adoptium.net › temurin › releases
Download Temurin® JDK
All VersionsJDK 25 - LTSJDK 21 - LTSJDK 17 - LTSJDK 11 - LTSJDK 8 - LTS · No releases match your current filter criteria. Try adjusting your selections or reset all filters to see available releases. There are multiple different ways to get Eclipse Temurin beyond direct downloads. The curated list below shows some of these options for installing high-performance, cross-platform, open-source OpenJDK ...
🌐
Red Hat
developers.redhat.com › products › openjdk › download
Download the Red Hat Build of OpenJDK | Red Hat Developer
July 25, 2024 - Download the Red Hat Build of OpenJDK at no-cost. The Red Hat build of OpenJDK is an open source implementation of the Java Platform, Standard Edition (Java SE)
Find elsewhere
🌐
Red Hat
docs.redhat.com › en › documentation › red_hat_build_of_openjdk › 17 › html-single › installing_and_using_red_hat_build_of_openjdk_17_on_rhel › index
Installing and using Red Hat build of OpenJDK 17 on RHEL | Red Hat build of OpenJDK | 17 | Red Hat Documentation
Select the latest version of Red Hat build of OpenJDK 17 from the Version drop-down list, and then download the JDK archive for Linux to your local system. Extract the contents of the archive to a directory of your choice: $ tar -xf java-17-openjdk-17.0.2.0.8-3.portable.jre.el7.x86_64.tar.xz ...
🌐
Arch Linux
archlinux.org › packages › extra › x86_64 › jdk17-openjdk
Arch Linux - jdk17-openjdk 17.0.19.u10-1 (x86_64)
java-environment=17 (jdk17-openjdk) (make) lcms2 (make) libcups (make) libelf (make) libgcc (make) libjpeg-turbo (make) libnet (make) libpng (make) libstdc++ (make) libx11 (make) libxext (make) libxrandr (make) libxrender (make) libxt (make) libxtst (make) pandoc (pandoc-cli) (make) unzip (make) ...
🌐
Bell Software
bell-sw.com › pages › downloads
Download JDK 8, 11, 17, 21, 25, 26 | Java Builds for Linux, Windows and macOS
Get Liberica JDK – a free, supported, and 100% open-source distribution of OpenJDK, verified by TCK for Java SE. Liberica JDK binaries are free for all users, including commercial and production usage. ... Get the best customer support plans. See pricing. ... Pick a version, package type, JDK/JRE, and download the binaries.
🌐
CodeJava
codejava.net › java-se › download-and-install-openjdk-17
How to Download and Install OpenJDK 17
October 9, 2021 - And JDK 17 is the latest Long Term Support (LTS) release of Java SE platform, as of October 2021. Head over to the official download page of OpenJDK at https://jdk.java.net/17, and click on the link for Windows/x64:It will download the binary distribution of OpenJDK 17 as a ZIP archive file.
🌐
Azul Systems
azul.com › home › azul downloads
Java 8, 11, 17, 21, 25 Download for Linux, Windows and macOS
January 30, 2023 - Click here to download the Azul Zulu Builds of OpenJDK for Java 8, 11, 17, 21, 25 for Linux, Windows and macOS. Also download Azul Platform Prime.
🌐
Oracle
oracle.com › java › technologies › downloads
Download the Latest Java LTS Free
Commercial license and support are available for a low cost with Java SE Universal Subscription. JDK 17.0.19 checksums and OL 9 GPG Keys for RPMs ... Java SE subscribers will receive JDK 11 updates until at least January 2032. These downloads can be used for development, personal use, or to run Oracle licensed products.
🌐
openSUSE
software.opensuse.org › package › java-17-openjdk
java-17-openjdk
The OpenJDK 17 runtime environment. There is no official package available for openSUSE Leap 16.0 · official release Official · 17.0.18.0 · Expert Download · Show experimental packages Show community packages · Java:Factory Experimental · 17.0.18.0 · 1 Click Install Expert Download ·
🌐
GitHub
github.com › openjdk › jdk17
GitHub - openjdk/jdk17: https://openjdk.org/projects/jdk/17 released 2021-09-14 · GitHub
https://openjdk.org/projects/jdk/17 released 2021-09-14 - openjdk/jdk17
Starred by 197 users
Forked by 153 users
Languages   Java 76.9% | C++ 13.2% | C 5.8% | Assembly 2.5% | Objective-C 0.4% | HTML 0.3%
🌐
Adoptium
adoptium.net
Home | Adoptium
Eclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure.
Top answer
1 of 2
4

I don't know for sure the rational of the Intellij for (no longer?) including a link to a "vanilla" OpenJDK 17 download site. However my guess is that it is related to this notice on the https://jdk.java.net/17/ release page:

JDK 17 Releases

JDK 17 has been superseded. Please visit jdk.java.net for the current version.

Older releases, which do not include the most up to date security vulnerability fixes and are no longer recommended for use in production, remain available in the OpenJDK Archive.

Note that the OpenJDK team are no longer publishing new builds for OpenJDK 17. If you want the current Java 17 LTS build, you get it as an Oracle release or you get it from a 3rd-party vendor. These should all include the most recent security patches.

The Intellij team would be doing users a disservice if they provided an easy way for users to download an old and potentially insecure OpenJDK Java 17 build.

2 of 2
4

OpenJDK is basically a source only project (though they do release reference binaries for the first six months, which usually results in three releases, e.g. 17.0.0 - 17.0.2). After those three months, newer releases are only available through the vendors (e.g. for Java 17.0.5). All those listed are variants of OpenJDK 17 (except IBM Semeru, which is OpenJ9, which itself is a variant of OpenJDK). And bar vendor specific extras, or optional features like garbage collectors, they are basically the same, and have been tested for compliance with the Java specification.

In the Java world, you pick a vendor, and use its binaries instead of the binaries from OpenJDK itself (which generally don't go further then x.0.2, while vendor specific versions continue to receive updates if they are LTS versions). Personally, I usually use Eclipse Temurin builds.

Top answer
1 of 13
407

In 2024, even if you can use just brew..

Copybrew install openjdk@17 

Java will be installed here:

Copy/opt/homebrew/opt/openjdk@17/bin/java

for Apple Intel path is /usr/local/... rather than /opt/homebrew/...

For the system Java wrappers to find this JDK, symlink it with:

Copysudo ln -sfn /opt/homebrew/opt/openjdk\@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

resp. for Intel

Copysudo ln -sfn /usr/local/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

Now, running /usr/libexec/java_home -V should show the path to JAVA 17, something like:

Copy17.0.9 (x86_64) "Homebrew" - "OpenJDK 17.0.9" /opt/homebrew/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home

(This is what you are missing btw, if javac or javac --version does not give you a command-not-found but an The operation couldn’t be completed. Unable to locate a Java Runtime.)

In case you see the wrong version, check if the path to JAVA_HOME is set correctly. If not, you could set it by:

Copyexport JAVA_HOME=\$(/usr/libexec/java_home)

...give a try to sdkman, it's far better than brew

Copycurl -s "https://get.sdkman.io" | bash

then open a new shell and try list to see what you could install ;-)

Copysdk list java 

At time of writing you could use:

Copysdk install java 17.0.4.1-tem

Java will be installed here:

Copy/Users/YOUR_USERNAME_HERE/.sdkman/candidates/java/17.0.4.1-tem
2 of 13
56

Java doesn't mind if you install multiple versions. This is often required; java is not backwards compatible (it tries to change little, but e.g. the java8 to java9 transition broke a ton of stuff, much of it needless and much of it not reasonably expectable or fixable by libraries and apps, so a bunch of java apps and libraries only run on java8 - just an example).

So, yes, you have installed JDK17. Also, yes, if you just run java without specifying which one you want, you so happen to get java13 here.

To see all installed javas, you can run:

Copy/usr/libexec/java_home -V

to 'override', you can use something like (depends on which shell you're using on your mac):

Copyexport JAVA_HOME=`/usr/libexec/java_home -v 17`

(the backticks mean: Run this then take the output of it and treat that as the 'value' of the expression. here, assign it to the JAVA_HOME env var. -v 17 requests a path to java 17. The -V option lists all and is meant for your eyeballs, not for scripts. The -v option is mostly for scripting, and that's how we're using it here).

JAVA_HOME decides which java is used by some things, but the java you get when you just type java is /usr/bin/java, and that executable is actually just a wrapper that picks a java to run from amongst all installed versions. It uses JAVA_HOME to decide which java to actually run. There are wrappers for all the common commands (javac, too). You can always run e.g. which javac to see what that actually runs; you probably see /usr/bin/javac. Everything in /usr/bin is one of these wrapper thingies that looks at JAVA_HOME and then runs the binary it finds there.