Skip to main content

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.