# Install openjdk@25 with Homebrew, apt, apk, MacPorts, Nix, chocolatey, winget

Development kit for the Java programming language. Version 25.0.4 via Homebrew; verified 2026-07-22. Also installable with debian: sudo apt install openjdk-25-dbg.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install openjdk@25
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install openjdk25
```

  Evidence: MacPorts ports tree: java/openjdk25/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install openjdk-25-dbg
```

  Evidence: Debian stable package indexes: openjdk-25-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- apk (92%):

```sh
sudo apk add openjdk25
```

  Evidence: Alpine Linux edge package indexes: openjdk25 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#openjdk25
```

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

### 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','openconnect-gui'

- 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@25
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/openjdk@25>
- **Version:** 25.0.4
- **Source summary:** Development kit for the Java programming language
- **Homepage:** <https://openjdk.org/>
- **Repository:** <https://github.com/openjdk/jdk25u>
- **Upstream docs:** <https://openjdk.org/>
- **License:** GPL-2.0-only WITH Classpath-exception-2.0
- **Source archive:** <https://github.com/openjdk/jdk25u/archive/refs/tags/jdk-25.0.4-ga.tar.gz>
- **Last updated:** 2026-07-22T01:09:01Z
- **Generated:** 2026-08-04T22:13:35+00:00

## 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@25/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-25.jdk
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

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

OpenJDK 25 is the open-source reference implementation of Java SE 25 and includes the Java runtime, compiler, standard libraries, diagnostics, packaging, documentation, and development tools. It is an LTS release from most JDK vendors.

### Project history

The OpenJDK community was created in November 2006 when initial JDK source code was published under GPLv2. OpenJDK subsequently became the collaborative upstream for open-source Java SE implementations and adopted a strict six-month feature-release cadence.

JDK 25 was produced through the OpenJDK JEP and release processes as the reference implementation of Java SE 25, specified by JSR 400. It reached general availability on 16 September 2025 with eighteen JEPs.

### Adoption history

OpenJDK serves as the upstream code base for binaries shipped by multiple vendors and operating-system distributions. Because most vendors treat JDK 25 as an LTS release, its update line is maintained on the established quarterly schedule for fixes and security updates.

### How it is used

The package supplies java and javac for running and compiling Java, plus tools for archives, signing, documentation, dependency analysis, debugging, monitoring, flight recording, runtime-image linking, native packaging, JShell, and a minimal web server.

### Why package nerds care

OpenJDK is both a language runtime and a full development-toolchain package. Versioned formulae let users keep an LTS toolchain alongside other JDK feature releases, while downstream vendors and distributions build compatible binaries from the shared OpenJDK source and update streams.

### Timeline

- 2006-11: The OpenJDK community was created and initial JDK sources were published under GPLv2.
- 2017: The JDK project moved to a strict six-month feature-release cadence.
- 2025-09-16: JDK 25 reached general availability as the Java SE 25 reference implementation.
- 2025-10: The JDK 25 quarterly update series began after the feature release.
- 2026: JDK 25 continued as an LTS line for most vendors with quarterly updates.

### Related projects

- OpenJDK 25 is related to the Java SE 25 specification, HotSpot JVM, the JDK Updates Project, and OpenJDK component projects such as Amber, Loom, Panama, and Shenandoah.

### Sources

- <https://openjdk.org/guide/>
- <https://openjdk.org/projects/jdk-updates>
- <https://openjdk.org/projects/jdk/>
- <https://openjdk.org/projects/jdk/25/>
- <https://openjdk.org/projects/jdk/25/spec>
- <https://wiki.openjdk.org/display/JDKUpdates/JDK%2B25u>


## Security Notes

No matching local secret-handling manifest was found for openjdk@25. Package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: $JAVA_HOME/conf/security/java.security, $JAVA_HOME/conf/net.properties, $JAVA_HOME/conf/logging.properties
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** openjdk@25
- **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

- Debian apt - openjdk-25-dbg - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-dbg from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Java runtime based on OpenJDK (debugging symbols) | https://openjdk.java.net/
- Debian apt - openjdk-25-demo - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-demo from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Java runtime based on OpenJDK (demos and examples) | https://openjdk.java.net/
- Debian apt - openjdk-25-doc - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Development Kit (JDK) documentation | https://openjdk.java.net/
- Debian apt - openjdk-25-jdk - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-jdk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Development Kit (JDK) | https://openjdk.java.net/
- Debian apt - openjdk-25-jdk-headless - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-jdk-headless from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Development Kit (JDK) (headless) | https://openjdk.java.net/
- Debian apt - openjdk-25-jre - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-jre from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Java runtime, using Hotspot JIT | https://openjdk.java.net/
- Debian apt - openjdk-25-jre-headless - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-jre-headless from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Java runtime, using Hotspot JIT (headless) | https://openjdk.java.net/
- Debian apt - openjdk-25-jre-zero - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-jre-zero from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Alternative JVM for OpenJDK, using Zero | https://openjdk.java.net/
- Debian apt - openjdk-25-source - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-source from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | OpenJDK Development Kit (JDK) source files | https://openjdk.java.net/
- Debian apt - openjdk-25-testsupport - 25.0.3+9-2~deb13u1: normalized package name match | Debian stable package indexes: openjdk-25-testsupport from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Java runtime based on OpenJDK (regression test support) | https://openjdk.java.net/
- MacPorts - openjdk25: package manager index match | MacPorts ports tree: java/openjdk25/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - openjdk25: package manager index match | nixpkgs package indexes: openjdk25 from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- apk - openjdk25 - 25.0.4_p7-r1: package manager index match | Alpine Linux edge package indexes: openjdk25 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Oracle OpenJDK 25 | https://github.com/openjdk/jdk25u
- apk - openjdk25-demos - 25.0.4_p7-r1: package manager index match | Alpine Linux edge package indexes: openjdk25-demos from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Oracle OpenJDK 25 (demos) | https://github.com/openjdk/jdk25u
- apk - openjdk25-doc - 25.0.4_p7-r1: package manager index match | Alpine Linux edge package indexes: openjdk25-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Oracle OpenJDK 25 (Documentation) | https://github.com/openjdk/jdk25u
- apk - openjdk25-jdk - 25.0.4_p7-r1: package manager index match | Alpine Linux edge package indexes: openjdk25-jdk from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Oracle OpenJDK 25 (JDK) | https://github.com/openjdk/jdk25u


## Related links

- [Terminal utility packages](https://pkg.so/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://pkg.so/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://pkg.so/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://pkg.so/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [harfbuzz](https://pkg.so/brew/harfbuzz/) - Runtime dependency declared by Homebrew.
- [libpng](https://pkg.so/brew/libpng/) - Runtime dependency declared by Homebrew.
- [jpeg-turbo](https://pkg.so/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [freetype](https://pkg.so/brew/freetype/) - Runtime dependency declared by Homebrew.
- [little-cms2](https://pkg.so/brew/little-cms2/) - Runtime dependency declared by Homebrew.
- [giflib](https://pkg.so/brew/giflib/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://pkg.so/brew/pkgconf/) - Build dependency declared by Homebrew.
- [autoconf](https://pkg.so/brew/autoconf/) - Build dependency declared by Homebrew.
- [opensearch](https://pkg.so/brew/opensearch/) - Popular package that depends on this formula.
- [micronaut](https://pkg.so/brew/micronaut/) - Popular package that depends on this formula.
- [metals](https://pkg.so/brew/metals/) - Popular package that depends on this formula.
- [joern](https://pkg.so/brew/joern/) - Popular package that depends on this formula.
- [glassfish](https://pkg.so/brew/glassfish/) - Popular package that depends on this formula.
- [beast](https://pkg.so/brew/beast/) - Popular package that depends on this formula.
- [teku](https://pkg.so/brew/teku/) - Popular package that depends on this formula.
- [openjdk](https://pkg.so/brew/openjdk/) - Package name indicates the same formula family.
- [openjdk@17](https://pkg.so/brew/openjdk-17/) - Package name indicates the same formula family.
- [openjdk@21](https://pkg.so/brew/openjdk-21/) - Package name indicates the same formula family.
- [openjdk@11](https://pkg.so/brew/openjdk-11/) - Package name indicates the same formula family.
- [openjdk@8](https://pkg.so/brew/openjdk-8/) - Package name indicates the same formula family.

## Combined YAML source

View the package source record on GitHub. [combined/openjdk@25.yml](https://github.com/mxcl/pkgdb/blob/main/combined/openjdk@25.yml)


## Sources

- pkg.so package database
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
