SDKMAN! JVM SDK manager
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
sdk list javasdk install java <id>
sdk use java <id>
sdk default java <id>
sdk currentsdk env initsdk env installsdk upgradeConcepts
source ~/.sdkman/bin/sdkman-init.sh
- Candidate java, maven, ...
- Installed version candidates/<c>/<v>
- current link new shells
- This shell PATH and *_HOME
Find and install
sdk listsdk list <sdk>
sdk install <sdk>
sdk install <sdk> <version>
sdk install <sdk> <version> <path>
sdk uninstall <sdk> <version>
sdk update| Mark | Meaning |
|---|---|
+ |
Local version |
* |
Installed |
> |
In use |
Switch versions
sdk use <sdk> <version>
sdk default <sdk> <version>
sdk default <sdk>
sdk currentsdk current <sdk>
sdk home <sdk> <version>
sdk upgradesdk upgrade <sdk>
Java vendors
sdk list javasdk install java <version>-tem
| Suffix | Distribution |
|---|---|
-tem |
Eclipse Temurin |
-amzn |
Amazon Corretto |
-zulu |
Azul Zulu |
-librca |
BellSoft Liberica |
-graalce |
GraalVM CE |
-graal |
Oracle GraalVM |
-oracle |
Oracle JDK |
-ms |
Microsoft OpenJDK |
Project env (.sdkmanrc)
sdk env initsdk envsdk env installsdk env clear# candidate=version, one per linejava=21.0.4-temmaven=3.9.9gradle=8.10
Maintenance
sdk versionsdk help [<subcommand>]
sdk selfupdatesdk selfupdate force
sdk flushsdk flush tmp|metadata|version
| Alias | Command |
|---|---|
i / rm |
install / uninstall |
ls / l |
list |
u / d |
use / default |
c / ug |
current / upgrade |
h / e / v |
home / env / version |
Configuration
sdk config| Key | Effect |
|---|---|
auto_answer |
No prompts (CI) |
auto_env |
Apply .sdkmanrc on cd |
selfupdate_feature |
Prompt for updates |
auto_complete |
Shell completion |
colour_enable |
Coloured output |
| Key | Effect |
|---|---|
healthcheck_enable |
API check at startup |
curl_connect_timeout |
Connect timeout (s) |
curl_max_time |
Max transfer time (s) |
checksum_enable |
Verify downloads |
beta_channel |
Beta releases |
debug_mode |
Verbose output |
insecure_ssl |
Skip TLS checks (avoid) |
Recipes
curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk install java 21.0.4-temsdk install mavensdk install gradle
sdk use java 21.0.4-temsdk env initecho 'maven=3.9.9' >> .sdkmanrcgit add .sdkmanrc
sed -i 's/auto_answer=false/auto_answer=true/' \ ~/.sdkman/etc/configsdk env installexport JAVA_HOME="$(sdk home java 21.0.4-tem)"
sdk upgradels ~/.sdkman/candidates/javasdk uninstall java 17.0.12-temsdk flush



