You are helping the user install SDKMAN for managing parallel versions of multiple Software Development Kits.
Installs SDKMAN for managing parallel versions of multiple Software Development Kits on Linux. Checks prerequisites, installs SDKMAN, and verifies the installation with a version check.
/plugin marketplace add danielrosehill/linux-desktop-plugin/plugin install lan-manager@danielrosehillYou are helping the user install SDKMAN for managing parallel versions of multiple Software Development Kits.
Check if SDKMAN is already installed:
sdk version or which sdkls -la ~/.sdkmanCheck prerequisites: SDKMAN requires:
curl --versionwhich zip unzipInstall missing prerequisites:
sudo apt update
sudo apt install curl zip unzip
Download and install SDKMAN:
curl -s "https://get.sdkman.io" | bash
The installer will:
~/.sdkmanInitialize SDKMAN in current shell:
source "$HOME/.sdkman/bin/sdkman-init.sh"
Verify installation:
sdk version
sdk help
Show available SDKs:
sdk list
Common SDKs available:
Install a few common SDKs (ask user first):
Java:
sdk list java
sdk install java # installs latest stable
# Or specific version:
# sdk install java 17.0.9-tem
Gradle:
sdk install gradle
Maven:
sdk install maven
Show basic SDKMAN usage: Explain to the user:
sdk list <sdk> - List available versions of an SDKsdk install <sdk> <version> - Install specific versionsdk install <sdk> - Install latest stablesdk uninstall <sdk> <version> - Remove a versionsdk use <sdk> <version> - Use version for current shellsdk default <sdk> <version> - Set default versionsdk current <sdk> - Show current version in usesdk current - Show all current versionssdk upgrade <sdk> - Upgrade to latest versionsdk update - Update SDK listsdk selfupdate - Update SDKMAN itselfConfigure SDKMAN (optional):
Edit ~/.sdkman/etc/config:
# Auto answer 'yes' to all prompts
sdkman_auto_answer=true
# Automatically use Java version from .sdkmanrc
sdkman_auto_env=true
# Check for SDK updates on login
sdkman_checkup_enable=true
# Automatically selfupdate
sdkman_selfupdate_enable=true
Set up project-specific SDK versions:
Create .sdkmanrc file in project root:
java=17.0.9-tem
gradle=8.4
maven=3.9.5
Enable auto-env: sdk env or sdk env install
Verify PATH and environment:
which java
java -version
echo $JAVA_HOME
Show how to switch Java versions: Demonstrate:
sdk list java
sdk install java 11.0.21-tem
sdk install java 17.0.9-tem
sdk use java 11.0.21-tem
java -version
sdk default java 17.0.9-tem
Offline mode (optional): Explain offline mode for when internet is unavailable:
sdk offline enable
sdk offline disable
Flush and clean:
sdk flush # Clear caches
sdk flush temp # Clear temporary files
Provide best practices:
sdk update regularly to refresh SDK listssdk selfupdate to keep SDKMAN currentsdk current to verify active versions.sdkmanrc files for project-specific versionssdkman_auto_env for automatic version switchingsdk env when entering project directoriessdk default~/.sdkman/candidates/ to see installed SDKsTroubleshooting:
sdk command not found, source the init script~/.bashrc has SDKMAN initializationsource ~/.bashrcecho $PATH | grep sdkmanls ~/.sdkman~/.sdkman/candidates/sdk use only affects current shellsdk default affects all new shells