Install SDKMAN on Windows
This is hands-down the cleanest way to get SDKMAN! on Windows. Here's how to do it:
✅ Recommended Way: Use WSL (Windows Subsystem for Linux)
Step 1: Install WSL (if you haven't already)
-
Open PowerShell as Administrator and run:
wsl --installThis installs WSL with the default Ubuntu distro.
-
Restart your computer when prompted.
-
Launch Ubuntu from the Start menu and let it finish setup.
Step 2: Install SDKMAN! inside Ubuntu (WSL)
Once you're inside the Ubuntu terminal:
-
Install dependencies:
sudo apt update && sudo apt install -y zip unzip curl -
Install SDKMAN!:
curl -s "https://get.sdkman.io" | bash -
Activate SDKMAN!:
source "$HOME/.sdkman/bin/sdkman-init.sh" -
Confirm it works:
sdk version
You should see something like
SDKMAN x.y.z installed.
Step 3: Use SDKMAN! to install stuff
Now you can use commands like:
sdk list java
sdk install java 17-tem
❌ Native Windows (Not Recommended)
There’s no official support for native Windows (CMD or PowerShell), and while there are hacky workarounds using Git Bash or Cygwin, they tend to break easily and aren't worth the maintenance headache.
If you really want Java version management natively on Windows, you're better off using tools like:
- jEnv (with workarounds)
- Scoop (PowerShell-based package manager for Windows)
- asdf (if you set up a Unix-like environment)
TL;DR
- ✅ Use WSL + Ubuntu → install SDKMAN there.
- ❌ Don't try to run SDKMAN! directly on native Windows.
- 👌 Use
scooporasdfif you want alternatives natively.