A command-line tool for installing and managing OpenJDK distributions.
Project description
jdkman
A command-line tool for installing and managing OpenJDK distributions.
Why jdkman?
How often do you actually need to pick between 21.0.3 and 21.0.5?
Probably never. "The latest Zulu 21" is almost always good enough.
jdkman manages JDKs at exactly that level — no more, no less.
jdk install zulu-21— just pick a vendor and a major versionjdk upgrade zulu-21— updates to the latest patch automatically- One installation per vendor + major version, always
No scrolling through minor version lists. No patch versions piling up.
On macOS, JDKs are installed under ~/Library/Java/JavaVirtualMachines/ — the standard
path where Gradle, IntelliJ, and most other tools automatically look for JDKs.
No extra configuration needed.
Installation
Homebrew (recommended):
brew install xunyss/tap/jdkman
pip:
pip install jdkman
Quick Start
# Browse available JDK distributions
jdk remote
# Install a distribution
jdk install zulu-21
# List installed distributions
jdk list
# Check for outdated installations
jdk outdated
Commands
jdk remote [DISTRO]
Browse JDK distributions available for download.
By default, shows only stable JDK builds. Use flags to include additional build types.
jdk remote # List all stable JDK builds
jdk remote zulu # Filter by vendor prefix
jdk remote --version 21 # Filter by major version
jdk remote --all # Include JRE and feature builds
jdk remote --with-jre # Include JRE builds
jdk remote --with-feat # Include feature builds (e.g. JavaFX, CRaC)
jdk remote --all zulu # Combined: all build types, zulu only
Options:
| Option | Short | Description |
|---|---|---|
--version |
-v |
Filter by major version number |
--all |
-a |
Include all build types |
--with-jre |
-R |
Include JRE builds |
--with-feat |
-F |
Include feature builds |
jdk install <DISTRO>
Download and install a JDK distribution.
jdk install zulu-21
jdk install temurin-17
jdk install zulu-jre-21 # JRE variant
jdk install zulu-javafx-21 # With JavaFX
jdk install zulu-crac-21 # With CRaC
jdk install zulu-javafx-jre-21 # JRE + JavaFX
The DISTRO name follows this pattern:
{vendor}[-{feature}][-jre]-{major_version}
Use jdk remote to find the exact distribution name.
jdk list
Show all installed JDK distributions managed by jdkman.
jdk list
jdk ls # alias
jdk uninstall <DISTRO>
Remove an installed JDK distribution.
jdk uninstall zulu-21
jdk remove zulu-21 # alias
jdk rm zulu-21 # alias
jdk upgrade <DISTRO>
Upgrade an installed distribution to the latest patch version.
jdk upgrade zulu-21
jdk update zulu-21 # alias
jdk outdated
List installed distributions that have newer versions available.
jdk outdated
jdk vendors
List all available JDK vendors.
jdk vendors
jdk vendor # alias
jdk cleanup
Remove cached data (downloaded archives and catalog cache).
jdk cleanup
jdk clean # alias
jdk clear # alias
jdk home (macOS only)
Show Java home paths for JVMs registered with the system.
jdk home # List registered Java installations
jdk home --json # Show detailed info in JSON format
jdk version
Show the jdkman version.
jdk version
jdk --version
jdk -v
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jdkman-0.2.8.tar.gz.
File metadata
- Download URL: jdkman-0.2.8.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8243bf41aef9b332a78f715054b51d36c949fab472886005217586fc2d39081
|
|
| MD5 |
09a604c09c475ef9b6ff02d68e35e0d4
|
|
| BLAKE2b-256 |
60f9508be17975968eb93aca721033c996dde5f1dbd0d96518a4648fc43c02ed
|
File details
Details for the file jdkman-0.2.8-py3-none-any.whl.
File metadata
- Download URL: jdkman-0.2.8-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27d8045dc6ea8d6a600a3a896b622c9ce8335e2ab1cd4e75a4a50ae1c6e835bc
|
|
| MD5 |
5776b4f51d68b244209c4e73c82e9f00
|
|
| BLAKE2b-256 |
62158c766153306a51751c1e67f641ffd815ae231cc1d9b804c4f4d4f16a75a3
|