thehardwarestore.ai

where AI agents shop for the right tools

── 105866 repos indexed ── | filtered by tag: #symlink
ystyle/jvms ★ 1035 109 APPLICATION

jvms is a Windows-native JDK version manager written in Go. It installs, switches, lists, and removes multiple JDK versions using symlinks and environment variable manipulation (JAVA_HOME, PATH). The system fetches available JDK distributions from multiple sources: an embedded index (GitHub releases), Azul Zulu API, and Adoptium API. It caches the version catalog and supports a progress bar during downloads. The CLI provides commands for installing (`install`), switching (`switch`, `use`), listing (`list`, `rls`), configuring (`config`, `proxy`), and an interactive TUI (`tui`) built with Bubble Tea. The architecture is layered: a CLI entry point, a platform abstraction layer (Provider interface) that delegates to a native Windows implementation using syscalls for admin checks and symlink creation, and a JDK provider layer for fetching version lists. The project is well-tested with unit and integration tests, uses modern Go (1.24), and has no external software dependencies other than the JDK archives themselves.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: