Hello Farzana Mustafa,

I’ve checked the Microsoft Learn page you referenced, and at the moment the latest available build listed under OpenJDK 17 is 17.0.17 LTS, not 17.0.18. The download table shows packages for Linux, macOS, and Windows across x64 and ARM64 architectures, but the new GA release you mentioned (17.0.18, January 20, 2026) has not yet been published on the Microsoft Build of OpenJDK download portal. This means the documentation is lagging behind the upstream OpenJDK release cycle.

Microsoft’s Build of OpenJDK follows upstream GA releases but there is typically a short delay before binaries are tested, signed, and posted. The official download page is updated only after Microsoft has completed validation and published the packages. Until then, the page will continue to show 17.0.17 as the latest supported release.

If you need 17.0.18 immediately, you can obtain it directly from the upstream OpenJDK project (Adoptium or Oracle builds), but if your environment requires the Microsoft Build of OpenJDK specifically—for example, for Azure workloads or enterprise compliance—you will need to wait until Microsoft publishes the updated binaries and updates the Learn documentation.

The best practice here is to monitor the official Microsoft Build of OpenJDK GitHub repository and the Learn download page. Microsoft usually posts the updated binaries within days to weeks of the upstream GA. Once published, the links under the OpenJDK 17 section will change from 17.0.17 to 17.0.18, with updated .sha256sum.txt and .sig files for verification.

In short, the link cannot be updated yet because Microsoft has not released their signed build of 17.0.18. You should continue to check the Learn page and GitHub release feed; once Microsoft completes validation, the download links will be updated automatically.

I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!

Domic Vo.

Answer from Domic Vo on learn.microsoft.com
Top answer
1 of 2
1

Hello Farzana Mustafa,

I’ve checked the Microsoft Learn page you referenced, and at the moment the latest available build listed under OpenJDK 17 is 17.0.17 LTS, not 17.0.18. The download table shows packages for Linux, macOS, and Windows across x64 and ARM64 architectures, but the new GA release you mentioned (17.0.18, January 20, 2026) has not yet been published on the Microsoft Build of OpenJDK download portal. This means the documentation is lagging behind the upstream OpenJDK release cycle.

Microsoft’s Build of OpenJDK follows upstream GA releases but there is typically a short delay before binaries are tested, signed, and posted. The official download page is updated only after Microsoft has completed validation and published the packages. Until then, the page will continue to show 17.0.17 as the latest supported release.

If you need 17.0.18 immediately, you can obtain it directly from the upstream OpenJDK project (Adoptium or Oracle builds), but if your environment requires the Microsoft Build of OpenJDK specifically—for example, for Azure workloads or enterprise compliance—you will need to wait until Microsoft publishes the updated binaries and updates the Learn documentation.

The best practice here is to monitor the official Microsoft Build of OpenJDK GitHub repository and the Learn download page. Microsoft usually posts the updated binaries within days to weeks of the upstream GA. Once published, the links under the OpenJDK 17 section will change from 17.0.17 to 17.0.18, with updated .sha256sum.txt and .sig files for verification.

In short, the link cannot be updated yet because Microsoft has not released their signed build of 17.0.18. You should continue to check the Learn page and GitHub release feed; once Microsoft completes validation, the download links will be updated automatically.

I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!

Domic Vo.

2 of 2
0

Currently, the latest version of OpenJDK available is 17.0.17. There is no information regarding the release of OpenJDK 17.0.18 or any updated download links for that version. You can find the available downloads for OpenJDK 17.0.17 at the provided Microsoft documentation link.


References:

  • Download the Microsoft Build of OpenJDK
Discussions

macOS - How to install Java 17 - Stack Overflow
Could someone please let me know the steps to install Java on a Mac. I did brew install java I get this Warning: openjdk 17.0.1 is already installed and up-to-date. To reinstall 17.0.1, run: brew More on stackoverflow.com
🌐 stackoverflow.com
Difference between JDK 17 and 21
So JDK 21 is a newer LTS release with improvements over JDK 17, including: Better performance, enhanced garbage collection, and new features like Virtual Threads (for shit like better concurrency) and improved pattern matching. While JDK 17 is stable and more widely used, JDK 21 offers more modern tools. That being said, If your instructor requires JDK 17, it's fine to stick with it, but using JDK 21 won’t cause major issues unless your course relies on specific JDK 17 behaviors. More on reddit.com
🌐 r/learnjava
9
9
March 21, 2025
Which free version of Java can I use for production environments and or commercial purposes? - Stack Overflow
If I can change my development and I want still FREE, and I want to have improvements and security updates, I must use one of these java open implementations? ... The Oracle JDK License has changed for releases starting April 16, 2019. ... Thank you for the JDK 8 download link (unsupported but free version). That's what I was looking for. ... "Oracle provides JDK 17 ... More on stackoverflow.com
🌐 stackoverflow.com
HOW DO YOU DOWNLOAD AND USE JAVA 17?
If you download the installer that usually comes in a msi installer it should then Autodetect it. More on reddit.com
🌐 r/PrismLauncher
14
19
June 22, 2023
🌐
Oracle
oracle.com › java › technologies › javase › jdk17-archive-downloads.html
Java Archive Downloads - Java SE 17.0.12 and earlier
This page includes archive downloads ... offered under different license terms, and can be found here. The JDK is a development environment for building applications using the Java programming language....
🌐
Oracle
oracle.com › java › technologies › javase › jdk17-0-13-later-archive-downloads.html
Java Archive Downloads - Java SE 17.0.13 and later
The JDK includes tools useful for developing and testing programs written in the Java programming language and running on the JavaTM platform. The Oracle JDK 17 License has changed for releases after October 2024 · The Oracle Technology Network License Agreement for Oracle Java SE used for ...
🌐
techPiezo
techpiezo.com › linux › install-oracle-java-se-development-kit-17-in-ubuntu-22-04
Install Oracle Java SE Development Kit 17 in Ubuntu 22.04 – techPiezo
February 17, 2022 - Java Standard Edition Development Kit 17 is provided by Oracle Corporation. At the time of writing the article, v17.0.2 is its latest stable release. In this article, we will cover how to install Oracle Java SE Development Kit 17 in Ubuntu 22.04 release.
🌐
Oracle
jdk.java.net › 17
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.
Find elsewhere
🌐
Google Groups
groups.google.com › g › jenkinsci-users › c › yfHCwvd3wQk
Java 17 (jdk17) end of life
ii openjdk-17-jdk-headless:amd64 ... OpenJDK Development Kit (JDK) (headless) ii openjdk-17-jre:amd64 17.0.15+6~us1-0ubuntu1~24.04 amd64 OpenJDK Java runtime, using Hotspot JIT · ii openjdk-17-jre-headless:amd64 17.0.15+6~us1-0ubuntu1~24.04 amd64 OpenJDK Java runtime, using Hotspot JIT (headless) Jenkins Server Version is ...
🌐
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.
Top answer
1 of 13
404

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

brew install openjdk@17 

Java will be installed here:

/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:

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

resp. for Intel

sudo 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:

17.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:

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

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

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

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

sdk list java 

At time of writing you could use:

sdk install java 17.0.4.1-tem

Java will be installed here:

/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:

/usr/libexec/java_home -V

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

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

🌐
Oracle
java.com › en
Java | Oracle
Oracle Java is the #1 programming language and development platform. It reduces costs, shortens development timeframes, drives innovation, and improves application services.
🌐
Oracle
oracle.com › java › technologies › downloads
Download the Latest Java LTS Free
Download the Java including the latest version 17 LTS on the Java SE Platform. These downloads can be used for any purpose, at no cost, under the Java SE binary code license.
🌐
Oracle
java.com › releases
JDK Releases
1 month ago - (1) Programmatic access to the maintenance specification version was originally added to JDK 19 and backported to JDK 8 with JSR 337 MR 4, JDK 11 with JSR 384 MR 2 and JDK 17 with JSR 392 MR 1. (2) The JCP requires that each Maintenance Release includes an RI, although that RI should not be used in production. Instead, the update release of the JDK which corresponds to ('implements') the MR should be used in production. For example, JDK 8u381 should be used instead of JDK 8u43 · The JCP was created in December 1998. Prior to Java SE 8, all significant new features were developed by independent JSRs under the JCP then incorporated by reference in the Platform JSR.
🌐
O'Reilly Media
oreilly.com › videos › introducing-java-17 › 9781484280935
Introducing Java 17 Fundamentals: Using Oracle Java SE Development Kit 17 LTS and OpenJDK 17 [Video]
Learn the many new features, enhancements, and updated technologies in the recent long-term support (LTS) release of Java Platform, Standard Edition (Java SE) 17. This video offers an overview of the JDK Release Process, differences between the more frequent non-LTS and the less frequent LTS releases, and various kinds of features such as preview, experimental, incubation and stable. You will understand how to enable and use preview features, as well as the steps to download the latest Java Development Kit (JDK).
🌐
Oracle
jdk.java.net › java-se-ri › 17
Java Platform, Standard Edition 17 Reference Implementations
These binaries are provided for use by implementers of the Java SE 17 Platform Specification and are for reference purposes only. This Reference Implementation has been approved through the Java Community Process. Production-ready binaries under the GPL are available from Oracle; and will be in most popular Linux distributions. Oracle Linux 8.3 x64 Java Development Kit (sha256) 179 MB
🌐
TechSpot
techspot.com › downloads › 7440-java-se-17.html
Java SE JDK 17.0.18 Download Free | TechSpot
January 20, 2026 - This means anyone can download it for personal or development use at no cost. Oracle does charge for long term support, but this is optional. As the fifth most popular programming language in the world, there is a long list of popular apps that rely on Java. From games like Minecraft and RuneScape, services like Netflix, Spotify and Uber, and applications like Opera Mini have all been created using Java. The full version string for this update release is 17.0.18+8 (where "+" means "build").
Rating: 3.9 ​ - ​ 19 votes
🌐
Microsoft
winget.run › pkg › Oracle › JDK.17
Download and install Java SE Development Kit 17 with winget
The JDK is a development environment for building applications and components using the Java programming language.
Top answer
1 of 6
105

Update 2021-09

  • For versions 8 through 16, Oracle required a fee if their own Oracle JDK product was used in production, but not for dev, test, and training usages.
  • For Java 17, the Oracle JDK product is available under a new No-Fee Terms and Conditions license, discussed on the Oracle company blog.

On my first reading, it appears this new license makes production use free-of-cost (along with dev, test, and training usages), except for products sold for a fee while bundling the Oracle JDK product. But I am not an attorney, so read the terms yourself and consult legal advice as needed.

Keep in mind that many other vendors continue to provide implementations of the Java specs, as shown in the flowchart below. Some of these vendors sell support plans, either optionally or as a requirement for use of their product. Never assume, always read the detailed requirements for any distribution you obtain.

Another 2021 update: Add Microsoft to the list of vendors seen below.


Several vendors offer a choice of Java implementations

The Answer by Speakjava is correct and informative.

In addition, here is a flowchart I made to guide you in choosing a vendor for a Java implementation.

Or another way to view this: Your particular motivations or situation.

2 of 6
58

Summary

If you need to have java in your production servers for free, your have two options

#1 OpenJdk

The OpenJDK is the open source implementation of the Java SE Specification and it is maintained by Oracle.

More details: https://whichjdk.com

Source code can be found here: https://github.com/openjdk

Binary can be found here: https://jdk.java.net/archive

Just select the latest or an specific version and download it. Check this example.

#2 JDK Customized by Third Parties

  • Amazon Corretto
    • https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
  • Zulu
    • https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&package=jdk


Licences OTN vs BCL

Oracle JDK 8 (aka 1.8) no longer uses BCL (Binary Code License). From April 16, 2019, Oracle JDK 8 uses the OTN (Oracle Technology Network) license, which requires you to create an Oracle account to download JDK 8 and payment!!

BCL = Oracle Binary Code License

  • You can use it, but you can't modify it
  • You agree not to sue Oracle if anything goes wrong
  • You can redistribute/publish it (so that you can sell products with Java embedded), but if you do, you agree to indemnify Oracle; so if someone sues you, you can't drag Oracle into it.

It's really just there to protect Oracle's intellectual property and to shield them from being sued when bugs are found.

source: https://www.quora.com/In-short-what-does-the-Oracle-Binary-Code-License-Agreement-for-Java-SE-actually-say-or-prohibit/answer/Jon-Harley

As a summary: FREE with risks and without any fault of Oracle

OTN = Oracle Technology Network License

As a summary: Opposite to BCL and FREE just for development in your laptop. For enterprises, you must PAY

OpenJDK and Oracle JDK

Both OpenJDK and Oracle JDK are created and maintained currently by Oracle only.

OpenJDK and Oracle JDK are implementations of the same Java specification passed the TCK (Java Technology Certification Kit).

Most of the vendors of JDK are written on top of OpenJDK by doing a few tweaks to [mostly to replace licensed proprietary parts / replace with more high-performance items that only work on specific OS] components without breaking the TCK compatibility.

Source: Differences between Oracle JDK and OpenJDK



Free official options

Here I will list and keep updated the official links, ready to download the most used java versions

Oracle Java 1.4, 5, 6 and 7 (Deprecated)

Oracle does not show any message related to license changes for Java 1.4, 5, 6 and 7 downloads. So we can use them for development and production deployment, accepting issues and security problems because these versions are so ancient!!

  • Oracle downloads:
  • https://www.oracle.com/java/technologies/java-archive-javase-v14-downloads.html
  • https://www.oracle.com/java/technologies/java-archive-javase5-downloads.html
  • https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html
  • https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

Legacy versions prior to 7, does not have and will not have any update. Maybe a sales contact could be a solution if your have a Legacy Systems running over this java old versions.

Oracle Java 8 update 202

Just Java SE 8 JDK 8u202 and earlier versions are free for development and production deployment. You can download it from:

  • https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

Openjdk 8 (Deprecated)

OpenJDK is a ORACLE initiative. More details here: https://adoptopenjdk.net/

compressed mode

You can download the latest v8 release from here. Latest version:

  • https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_windows_8u292b10.zip
  • https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_8u292b10.tar.gz
  • I can't find the version for osx :(

Follow this to download using curl

install mode

apt-get install openjdk-8-jre (just run apps)
apt-get install openjdk-8-jdk (develop and run)

From https://openjdk.java.net/install/

Openjdk 11

  • https://jdk.java.net/java-se-ri/11
  • https://github.com/AdoptOpenJDK/openjdk11-binaries/releases
apt-get update
apt-get install openjdk-11-jdk

Openjdk 17

  • https://jdk.java.net/java-se-ri/17

Openjdk 19

  • https://jdk.java.net/java-se-ri/19

Openjdk 21

  • https://jdk.java.net/21/


Free From Trusted Third Parties

Zulu Community (Java 6,7,8,11,13,14,15)

  • https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&package=jdk

Amazon Corretto (Java 11)

  • https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html

Eclipse OpenJ9

  • https://www.eclipse.org/openj9/

More third parties

The following implementations, listed in alphabetical order, are open source and free to use:

  • AdoptOpenJDK
  • Azul Zulu
  • Bck2Brwsr
  • CACAO
  • Codename One
  • DoppioJVM
  • GraalVM CE
  • HaikuVM
  • HotSpot
  • Jamiga
  • JamVM
  • Jelatine JVM
  • Jikes RVM (Jikes Research Virtual Machine)
  • JVM.go
  • leJOS
  • Maxine
  • Multi-OS Engine
  • RopeVM
  • uJVM


NON-FREE options

You should pay for these versions but in return you will have a lot of features suported by Oracle or another third parties

Oracle Java

https://www.oracle.com/java/technologies/downloads/

  • Java 19
    • https://www.oracle.com/java/technologies/downloads/#java19
  • Java 17
    • https://www.oracle.com/java/technologies/downloads/#java17
  • Java 11
    • https://www.oracle.com/java/technologies/downloads/#java11

Oracle Java 8 update 221

Since the java 8 update at April 16, 2019 8u221, all versions and updates for (java 8,9,10,11,14) has no cost just for personal use and development purposes. Any other use, needs a Commercial License.

  • https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html latest update 251
  • https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html previous updates (241,231,221,212,211)

Source: https://www.baeldung.com/oracle-jdk-vs-openjdk

Proprietary Implementations

There are also other private or commercial implementations:

  • Azul Zing JVM
  • CEE-J
  • Excelsior JET (Discontinued)
  • GraalVM EE
  • Imsys AB
  • JamaicaVM (aicas)
  • JBlend (Aplix)
  • MicroJvm (IS2T – Industrial Smart Software Technology)
  • OJVM
  • PTC Perc
  • SAP JVM
  • Waratek CloudVM for Java

Source: https://www.baeldung.com/oracle-jdk-vs-openjdk



Notes

  • Oracle Java 9 and 10 has reached end of support.
    • https://stackoverflow.com/a/50333498/3957754


More References

  • Differences between Oracle JDK and OpenJDK

  • https://whichjdk.com/

  • https://www.openlogic.com/blog/java-experts-openjdk-vs-oracle-jdk

  • https://www.oracle.com/technetwork/java/javase/overview/faqs-jsp-136696.html

  • https://www.oracle.com/downloads/licenses/javase-license1.html

  • https://openjdk.java.net/projects/jdk8/

  • https://www.oracle.com/java/technologies/javase/8u-relnotes.html

  • https://gist.github.com/jrichardsz/83db09163ca9a0db4c9cd4f91cbf0598/

  • https://jdk.java.net/archive