Introduction
Welcome to javm
javm is a fast, cross-platform Java Version Manager designed to be simple, scriptable, and predictable.
While inspired by tools like Jabba, SDKMAN, and jenv, javm
is not a drop-in replacement. It's a new take on Java version management with a clean CLI, zero runtime dependencies, and native support for Windows, Linux, and macOS.
Why javm?
-
Native support for Windows, Linux, and macOS
No Bash emulation layers. Works out of the box. -
Fast and script-friendly
Install and use JDKs in CI or local shells without global state or side effects. -
Reproducible environments
Pin exact JDK versions. Build predictable and portable setups. -
Zero runtime dependencies
The core is a single static binary. No JVM or SDK required to run it.
Quick Example
# List available JDKs
javm ls-remote
# Install one
javm install 17
# Use it in your current shell
javm use 17
Current Status
javm
is in active development and is not yet considered stable for production use.
Expect the CLI and config behavior to evolve as features mature.