Skip to main content

javm

javm logo

Native Java version management for Windows, Linux, and macOS.
Install and switch JDKs without a JVM or global system changes.

See it in action

Demo: installing and switching JDKs with javm

Why another version manager?

Other version managers may rely on shims or require WSL for Windows.

javm is different. It's a single standalone binary. Its small shell integration can be generated by javm init and audited before use. It avoids persistent shims: your shell changes environment variables only for use and deactivate, and the integration supports CMD, PowerShell, Bash, Zsh, Fish, and Nushell.

🚀 Zero dependencies

No JVM required to install the JVM. javm is a standalone binary that just works.

💻 Native cross-platform

Runs natively on Windows, Linux, and macOS across amd64 and arm64. No WSL or Git Bash required.

⚡ Session-scoped switching

Changes PATH and JAVA_HOME only for use and deactivate, with no persistent version shims.