A command-line tool for managing parallel versions of multiple software development kits on Unix-based systems.
SDKMAN! is a command-line tool for managing parallel versions of multiple Software Development Kits (SDKs) on Unix-based systems. It solves the problem of SDK version conflicts by allowing developers to install, switch, and remove different SDK versions easily. The tool supports various SDK candidates like Java, Scala, and Kotlin, providing a unified interface for SDK management.
Developers working on Unix-based systems (Linux, macOS) who need to manage multiple versions of SDKs for different projects, particularly those using JVM languages like Java, Scala, or Kotlin.
Developers choose SDKMAN! because it offers a simple, consistent CLI for SDK management, eliminating manual installation hassles and environment variable tweaking. Its ability to handle parallel SDK versions helps maintain project-specific dependencies without system-wide conflicts.
The SDKMAN! Command Line Interface
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Installation is a one-liner with 'curl -s https://get.sdkman.io | bash', as per the README, making setup quick and straightforward.
Allows installing and switching between multiple SDK versions like Java or Scala, reducing environment conflicts for different projects.
Supports various SDK candidates such as Java, Scala, and Kotlin through a unified CLI, streamlining management across languages.
Backed by sponsors and contributors with Discord support and documentation on sdkman.io, ensuring reliable resources for users.
Designed specifically for Unix-based systems like Linux and macOS, so it lacks native Windows support, limiting its usability in mixed environments.
The README states no enhancements are being accepted due to a rewrite in Rust, meaning this version is feature-frozen and only receives bug fixes.
Users may need to migrate to the new Rust-based CLI in the future, as this project will be phased out, potentially causing disruption.