sdkman
sdkman
Use the development-tool environment required by the task, and manage host tool versions through SDKMAN.
Run or troubleshoot a tool
Before a workload, read Environment details to find applicable declarations, including .sdkmanrc, within its worktree. Apply them through SDKMAN before execution, even if the current environment appears compatible. An explicit candidate request overrides that candidate's project declaration while retaining the other applicable declarations.
Otherwise, run the requested command with the current configuration. If it fails, consider tool-version or runtime compatibility alongside other causes; use the failing process and its requirements to decide whether a version change is needed.
For Maven or Gradle, read JVM build ownership to distinguish the launcher, wrapper, daemon, and task toolchains. Compiler compatibility settings alone do not require a shell switch.
Manage versions with SDKMAN
SDKMAN is this host's version manager for its supported tools. Apply a required command environment with sdk use or sdk env; sdk home only locates an installation. Use the native CLI for installed versions and defaults as well. If SDKMAN cannot apply the required environment, resolve that obstacle before starting the dependent command.
Use sdk help <command> and the official usage guide for command details. For activation, installation, project-environment work, or offline operations, read Environment details. Load ${SDKMAN_DIR:-$HOME/.sdkman}/bin/sdkman-init.sh only when sdk is unavailable and initialization fits the network constraints.