# Install openjdk with Homebrew, chocolatey, Nix, winget, dnf, zypper

Development kit for the Java programming language. Version 26.0.1 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:openjdk
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install openjdk
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#openjdk
```

  Evidence: nixpkgs package indexes: openjdk from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- dnf (92%):

```sh
sudo dnf install java-25-openjdk
```

  Evidence: Fedora Rawhide package metadata: java-25-openjdk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- zypper (92%):

```sh
sudo zypper install java-11-openj9
```

  Evidence: openSUSE Tumbleweed package metadata: java-11-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install openjdk
```

  Evidence: Chocolatey community package catalog: openjdk from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','office365homepremium'

- winget (92%):

```sh
winget install --id Microsoft.OpenJDK.17 -e
```

  Evidence: Windows Package Manager source index: Microsoft.OpenJDK.17 from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:openjdk
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/openjdk>
- **Version:** 26.0.1
- **Source summary:** Development kit for the Java programming language
- **Homepage:** <https://openjdk.org/>
- **Repository:** <https://github.com/openjdk/jdk26u>
- **Upstream docs:** <https://docs.oracle.com/en/java/javase>
- **License:** GPL-2.0-only WITH Classpath-exception-2.0
- **Source archive:** <https://github.com/openjdk/jdk26u/archive/refs/tags/jdk-26.0.1-ga.tar.gz>
- **Last updated:** 2026-06-25T13:37:59+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- jar (cli)
- jarsigner (cli)
- java (cli)
- javac (cli)
- javadoc (cli)
- javap (cli)
- jcmd (cli)
- jconsole (cli)
- jdb (cli)
- jdeprscan (cli)
- jdeps (cli)
- jfr (cli)
- jhsdb (cli)
- jimage (cli)
- jinfo (cli)
- jlink (cli)
- jmap (cli)
- jmod (cli)
- jnativescan (cli)
- jpackage (cli)
- jps (cli)
- jshell (cli)
- jstack (cli)
- jstat (cli)
- jstatd (cli)
- jwebserver (cli)
- keytool (cli)
- rmiregistry (cli)
- serialver (cli)
- jar (alias)
- jarsigner (alias)
- java (alias)
- javac (alias)
- javadoc (alias)
- javap (alias)
- jcmd (alias)
- jconsole (alias)
- jdb (alias)
- jdeprscan (alias)
- jdeps (alias)
- jfr (alias)
- jhsdb (alias)
- jimage (alias)
- jinfo (alias)
- jlink (alias)
- jmap (alias)
- jmod (alias)
- jnativescan (alias)
- jpackage (alias)
- jps (alias)
- jshell (alias)
- jstack (alias)
- jstat (alias)
- jstatd (alias)
- jwebserver (alias)
- keytool (alias)
- rmiregistry (alias)
- serialver (alias)

## Dependencies

- freetype
- giflib
- harfbuzz
- jpeg-turbo
- libpng
- little-cms2

## Build dependencies

- autoconf
- pkgconf

## Install behavior

- Post-install hook: not defined
- Caveats: For the system Java wrappers to find this JDK, symlink it with sudo ln -sfn $HOMEBREW_PREFIX/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 26.0.1
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/openjdk/jdk26u
- info: No cached GitHub release or tag data was available.
## Project history and usage

OpenJDK is the open-source implementation community for the Java Platform, Standard Edition, and the upstream source base from which many Java Development Kit distributions are built. The Homebrew openjdk formula packages the general JDK toolchain: java, javac, jar, javadoc, jshell, jlink, jpackage, jcmd, jfr, keytool, and many diagnostic utilities.

### Project history

OpenJDK began from Sun Microsystems' 2006 initiative to open source Java and the core Java platform. Red Hat's historical account says the major platform components were released over the next few years as free and open-source software under the GPL.

After Sun's acquisition by Oracle, OpenJDK continued as the central upstream for Java SE implementation work. The OpenJDK homepage describes it as the place to collaborate on an open-source implementation of Java SE and related projects, while the JDK Project describes its goal as producing a series of open-source reference implementations of the Java SE Platform.

### Adoption history

OpenJDK became the shared upstream for a multi-vendor Java ecosystem. Oracle, Red Hat, IBM, Microsoft, Amazon, Azul, SAP, and other vendors build or support JDK distributions derived from the OpenJDK code base, while the OpenJDK Community develops language, VM, library, tooling, and platform features through projects and JEPs.

The release model changed after JDK 9. OpenJDK's JDK Project documents a six-month feature-release cadence, and JEP 14 describes the tip-and-tail model: frequent feature releases at the tip, quarterly update releases in tail trains, and vendor-designated long-term support lines such as JDK 8, 11, 17, and 21.

### How it is used

Developers install OpenJDK when they need the Java compiler, runtime, standard libraries, build tools, documentation tools, packaging tools, and diagnostics needed to build and run Java software. Operators often install it indirectly because build systems, language servers, CI jobs, application servers, Android-adjacent tooling, and JVM languages all expect a JDK on PATH or discoverable through platform Java wrappers.

On macOS, Homebrew marks openjdk as keg-only and documents the symlink needed for /usr/libexec/java_home and other system Java wrappers to find the JDK bundle. That detail is a classic Java-packaging issue: package managers can install many JDKs, but tools need a policy for which one wins.

### Why package nerds care

OpenJDK is one of the most consequential packages in a package manager because it is both a developer-facing SDK and a build-time dependency for other packages. It also carries a distinctive license shape, GPLv2 with the Classpath Exception, which lets the JDK remain copyleft while supporting broad Java application distribution.

### Timeline

- 2006: Sun Microsystems announced the initiative that led to OpenJDK.
- 2007: Red Hat signed Sun's OpenJDK contributor and TCK agreements, becoming a major outside participant in the project.
- 2018: the OpenJDK Community adopted the six-month tip-and-tail release model beginning with JDK 10.
- The JDK Project release list records JDK 11 general availability on 25 September 2018 and subsequent feature releases on a six-month cadence.

### Related projects

- OpenJDK is related to HotSpot, javac, Project Amber, Project Loom, Project Panama, Project Valhalla, OpenJDK update projects, Eclipse OpenJ9, and downstream distributions such as Oracle OpenJDK builds, Red Hat OpenJDK builds, Microsoft Build of OpenJDK, Amazon Corretto, Azul Zulu, SAP SapMachine, and Eclipse Temurin.

### Sources

- <https://formulae.brew.sh/formula/openjdk>
- <https://openjdk.org/>
- <https://openjdk.org/jeps/14>
- <https://openjdk.org/legal/gplv2+ce.html>
- <https://openjdk.org/projects/jdk/>
- <https://www.redhat.com/en/blog/history-and-future-openjdk>


## Security Notes

Java runtime and development kit.

- **Geiger risk:** yellow / high
- Java runtime and development kit

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** openjdk
- **Aliases:** java, openjdk@26
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** xcode
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** yes
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - openjdk: normalized package name match | nixpkgs package indexes: openjdk from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Chocolatey - openjdk: normalized package name match | Chocolatey community package catalog: openjdk from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','office365homepremium'
- winget - Microsoft.OpenJDK.17: normalized package name match | Windows Package Manager source index: Microsoft.OpenJDK.17 from https://cdn.winget.microsoft.com/cache/source.msix
- winget - ojdkbuild.ojdkbuild: normalized package name match | Windows Package Manager source index: ojdkbuild.ojdkbuild from https://cdn.winget.microsoft.com/cache/source.msix
- dnf - java-25-openjdk - 25.0.3.0.9-2.fc45: installed executable or alias match | Fedora Rawhide package metadata: java-25-openjdk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | OpenJDK 25 Runtime Environment | http://openjdk.java.net/
- zypper - java-11-openj9 - 11.0.31.0-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-11-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 11 Runtime Environment with Eclipse OpenJ9 virtual machine | https://openjdk.java.net/
- zypper - java-11-openjdk - 11.0.31.0-3.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-11-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 11 Runtime Environment | https://openjdk.java.net/
- zypper - java-17-openj9 - 17.0.19.0-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-17-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 17 Runtime Environment with Eclipse OpenJ9 virtual machine | https://openjdk.java.net/
- zypper - java-17-openjdk - 17.0.19.0-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-17-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 17 Runtime Environment | https://openjdk.java.net/
- zypper - java-1_8_0-openj9 - 1.8.0.492-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-1_8_0-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 8 Runtime Environment with Eclipse OpenJ9 virtual machine | https://www.eclipse.org/openj9/
- zypper - java-1_8_0-openjdk - 1.8.0.492-3.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-1_8_0-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 8 Runtime Environment | https://openjdk.java.net/
- zypper - java-21-openj9 - 21.0.11.0-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-21-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 21 Runtime Environment with Eclipse OpenJ9 virtual machine | https://openjdk.java.net/
- zypper - java-21-openjdk - 21.0.11.0-3.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-21-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 21 Runtime Environment | https://openjdk.java.net/
- zypper - java-25-openj9 - 25.0.3.0-4.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-25-openj9 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 25 Runtime Environment with Eclipse OpenJ9 virtual machine | https://openjdk.java.net/
- zypper - java-25-openjdk - 25.0.3.0-3.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-25-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 25 Runtime Environment | https://openjdk.java.net/
- zypper - java-26-openjdk - 26.0.1.0-2.1: installed executable or alias match | openSUSE Tumbleweed package metadata: java-26-openjdk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | OpenJDK 26 Runtime Environment | https://openjdk.java.net/


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [giflib](https://www.automicvault.com/pkg/brew/giflib/) - Runtime dependency declared by Homebrew.
- [harfbuzz](https://www.automicvault.com/pkg/brew/harfbuzz/) - Runtime dependency declared by Homebrew.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [libpng](https://www.automicvault.com/pkg/brew/libpng/) - Runtime dependency declared by Homebrew.
- [little-cms2](https://www.automicvault.com/pkg/brew/little-cms2/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [abcl](https://www.automicvault.com/pkg/brew/abcl/) - Popular package that depends on this formula.
- [activemq](https://www.automicvault.com/pkg/brew/activemq/) - Popular package that depends on this formula.
- [alda](https://www.automicvault.com/pkg/brew/alda/) - Popular package that depends on this formula.
- [alloy-analyzer](https://www.automicvault.com/pkg/brew/alloy-analyzer/) - Popular package that depends on this formula.
- [allure](https://www.automicvault.com/pkg/brew/allure/) - Popular package that depends on this formula.
- [ammonite-repl](https://www.automicvault.com/pkg/brew/ammonite-repl/) - Popular package that depends on this formula.
- [ant](https://www.automicvault.com/pkg/brew/ant/) - Popular package that depends on this formula.
- [antlr](https://www.automicvault.com/pkg/brew/antlr/) - Popular package that depends on this formula.
- [openjdk@11](https://www.automicvault.com/pkg/brew/openjdk-11/) - Package name indicates the same formula family.
- [openjdk@17](https://www.automicvault.com/pkg/brew/openjdk-17/) - Package name indicates the same formula family.
- [openjdk@21](https://www.automicvault.com/pkg/brew/openjdk-21/) - Package name indicates the same formula family.
- [openjdk@25](https://www.automicvault.com/pkg/brew/openjdk-25/) - Package name indicates the same formula family.
- [openjdk@8](https://www.automicvault.com/pkg/brew/openjdk-8/) - Package name indicates the same formula family.

## Combined YAML source

View the package source record on GitHub. [combined/openjdk.yml](https://github.com/automic-vault/db/blob/main/combined/openjdk.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
