PS> jir ls 8:zulu 17:corretto 21:temurin * * active PS> jir use 21:temurin ✔ Active 21:temurin JAVA_HOME C:\jir\home\occupy PS> java -version openjdk version "21.0.8" 2025-07-15 OpenJDK Runtime Environment Temurin-21.0.8+9 (build 21.0.8+9) OpenJDK 64-Bit Server VM Temurin-21.0.8+9 (build 21.0.8+9, mixed mode)
The problem
Multiple JDKs.
More complexity.
Different projects need different Java versions. Installing and switching between JDKs on Windows is a real hassle — and every switch means editing environment variables again.
Java 8
Zulu
C:\java\8
Java 17
Corretto
C:\java\17
Java 21
Temurin
C:\java\21
Active
How it works
One stable path.
jir keeps the active JDK behind a single home/occupy directory. Point JAVA_HOME there once — switching versions never touches your environment again.
C:\jir\home\occupy
Features
Simple commands.
Everything you need to manage Java runtimes, with a small and easy-to-remember command set.
Install
Add JDKs from 20+ distributions — Temurin, Corretto, Zulu, Oracle and more.
Switch
Change versions in seconds — no environment edits.
Current
Check which Java runtime is active right now.
List
View installed and installable JDKs in a flat, readable grid.
Uninstall
Remove versions you no longer use — jir cleans up the junction too.
Update
Keep jir itself up to date with a single command.
Command playground
Try it yourself.
Select a command to preview its output — from installing a JDK to updating jir itself.
PS> jir ls 8:zulu 17:corretto 21:temurin * * active
PS> jir ls -i 6:zulu 7:zulu 8:aoj 8:aoj_openj9 8:corretto 8:dragonwell 8:kona 8:liberica 8:ojdk_build 8:openlogic 8:oracle_open_jdk 8:redhat 8:semeru 8:temurin 8:zulu + … * active + installed
PS> jir i 21:temurin ◆ Installing 21:temurin vendor Temurin build 21.0.8+9 file OpenJDK21U-jdk_x64_windows_hotspot_21.0.8_9.zip ✔ Installed 21:temurin path C:\jir\home\21\temurin JAVA_HOME C:\jir\home\21\temurin hint run `jir use 21:temurin` to activate
PS> jir use 21:temurin ✔ Active 21:temurin JAVA_HOME C:\jir\home\occupy
PS> jir current ◆ Current 21:temurin vendor Temurin build 21.0.8+9 source C:\jir\home\21\temurin JAVA_HOME C:\jir\home\occupy binary C:\jir\home\occupy\bin\java.exe
PS> jir rm 8:zulu Remove 8:zulu (C:\jir\home\8\zulu) Confirm? [y/N] y Uninstalled 8:zulu
PS> jir update current jir 0.2.4 ✔ up to date 0.2.4
Get started
Installation
Choose your preferred way to install jir — pick one channel, do not mix them. Each keeps its own directory and its own JDK library under home/.
Recommended
GUI installer
A graphical installer for Windows. It records the installation, so jir shows up in "Apps & features" and uninstalls normally, and it reuses an existing install directory.
Download installer- Choose the install directory
- Can add jir to PATH and set JAVA_HOME
- Ships uninstall.exe
Portable
PowerShell one-liner
No administrator rights: the script verifies the archive's SHA-256, extracts it, adds it to PATH and sets JIR_HOME.
iex (New-Object Net.WebClient).DownloadString('https://github.com/rururunu/Jir/releases/latest/download/install.ps1')
- No uninstaller — remove its directory and the PATH / JIR_HOME entries yourself
- Use this form rather than
irm ... | iex: release assets are served as application/octet-stream, and a byte array piped into iex fails to parse - Already installed?
jir updateupgrades whichever copy you run
Command reference
Every command, at a glance.
A target is either a feature version (21) or a full version:distro pair (21:temurin). Give a version only, and jir asks which vendor you mean. Click any row to copy the command.
| Command | What it does |
|---|---|
jir, jir -h, jir --help, jir help | Show the help screen. |
jir ls | Show installed JDKs. |
jir ls -i | Show installable JDKs. |
jir ls -i 21 | Show installable JDKs for one feature version. |
jir i 21 | Install Java 21 and choose a vendor. |
jir i 21:temurin | Install a specific distro. |
jir i 21:temurin 17:corretto | Install several at once. |
jir use | Pick from every installed JDK and activate it. |
jir use 21 | Choose an installed Java 21 distro and activate it. |
jir use 21:temurin | Activate a specific installed distro. |
jir current | Show the active Java runtime. |
jir -v | Print the installed version. |
jir uni 21 | Choose an installed Java 21 distro and remove it. |
jir uni 21:temurin | Uninstall a JDK after confirmation (-y to skip). |
jir update | Update jir itself to the newest release (--force to reinstall). |
