Skip to the content.

Getting Support for Java Version Manager for Windows

🏠 Overview  •  📦 Installation  •  📖 Usage  •  🏗️ Architecture  •  🏢 Enterprise  •  🔒 Locking  •  🌐 Networking  •  🐚 Shells  •  🎯 Threat Matrix  •  ❓ FAQ  •  ⚖️ SDKMAN! Comparison  •  📜 Changelog  •  🛡️ Security  •  🤝 Contributing  •  💬 Support


Thank you for using Java Version Manager! We want to ensure you have the best possible experience managing JDKs and JVM tools on Windows.


🔍 Self-Service Diagnostic Triage

Before opening a support ticket, check this rapid decision tree for the most common operational scenarios:

0. “Check my entire system health automatically” (jvm doctor)

1. “I switched versions, but java -version didn’t change” (PATH Shadowing)

2. “I keep getting Windows UAC administrator elevation prompts”

3. “Network connection failed / You appear to be offline”

4. “PowerShell session switching doesn’t update my current terminal”

5. “PowerShell tab completion does not suggest commands, vendors, or versions”

6. “Another JVM operation is currently modifying state / Concurrency timeout”

7. “Need to audit lockfiles, verify signatures, or recover interrupted transactions”


⚡ Troubleshooting Quick-Reference Table

Symptom Probable Cause Diagnostic Command Remediation Command
java -version does not change after switch Phantom Oracle path or rogue MSI shadowing in PATH where.exe java jvm clear followed by jvm <version>
Constant UAC elevation prompts Active mode set to legacy Registry Mode (HKLM) jvm current jvm <version> --symlink
PowerShell session variables not updating live PowerShell Profile auto-sync hook not installed jvm hook status jvm hook install
PowerShell tab completion not working Profile not reloaded in active shell session jvm hook status . $PROFILE or reopen terminal
Corrupted download / hash mismatch / network drop Stale extraction workspaces or cache in %TEMP% jvm doctor jvm clean
GitHub API Rate Limit reached GitHub unauthenticated 60 req/hr API quota exhausted None Automatically handled by HTTP 302 redirect fallback; set $env:GITHUB_TOKEN = "<token>" if fallback is blocked
Air-gapped / proxy hash mirror blocked Proxy allows binary download but blocks checksum jvm doctor jvm install <version> --skip-checksum
Air-gapped workstation or strict offline policy Network access blocked by corporate perimeter jvm doctor --offline Pass --offline to execute local commands without network timeouts
Concurrency timeout / state lock error Another process crashed while holding state.lock jvm doctor JVM auto-recovers dead PIDs; use --no-lock for emergency bypass
Command jvm not recognized in new terminal JVM directory missing from User PATH where.exe jvm Settings (3) → Option 1 (Install to User PATH)
Directory junction broken or points to missing JDK JDK was manually deleted from disk jvm doctor jvm doctor --fix or jvm <version>
Stale configuration file (config.json) Invalid or corrupted configuration settings jvm config get jvm config reset
Environmental delta / registry divergence Session environment differs from registry baseline jvm env --diff jvm <version> --session or jvm <version>
Interrupted / aborted installation state Installation halted mid-flight before completion jvm transaction show jvm transaction rollback <id>
Self-updater skips: “newer local build” Local JVM_BUILD is newer than GitHub release or main branch jvm current Expected for local dev builds; use jvm self-update --force to override
Want to switch between Stable and Nightly Channel configuration set to alternative channel jvm channel jvm channel stable or jvm channel nightly
Self-update regression / unexpected bug Latest update caused unexpected behavior jvm self-update --history jvm self-update --rollback
Build fails due to Gradle/Java mismatch Older Gradle wrapper paired with newer JDK jvm run build Switch JDK (jvm 17 or jvm 21) or upgrade wrapper
Cache disk bloat Accumulation of candidate packages in CAS jvm cache stats jvm cache dedupe or jvm cache clean
System environment uncertain / multiple conflicts General configuration drift jvm doctor jvm doctor --fix or follow remediation output

📋 Standard Diagnostic Bundle

When opening a support request or asking for assistance on Discord or GitHub, generating a pre-packaged support bundle will accelerate resolution by 10x:

# Option A: Comprehensive Support Bundle (Recommended for GitHub Issues & Discord)
jvm support
# -> Generates: jvm-support-bundle.zip containing doctor audit, environment report, and config

# Option B: Automated GitHub Issue Bundle
jvm doctor --report
# -> Generates: jvm-issue-bundle.zip

# Option C: Sanitized Text Report
jvm report
# -> Generates: jvm-report.txt (secrets, tokens, and usernames automatically redacted)

# Option D: Manual Command Telemetry
# 1. Automated all-in-one system health audit:
jvm doctor

# 2. Active JVM environment and configuration dashboard:
jvm current

# 3. Environment diff inspection against persistent registry baselines:
jvm env --diff

# 4. Exact executable binary resolved by JVM:
jvm which

# 5. All java.exe binaries discovered in active PATH order:
where.exe java

💬 Community & Direct Maintainer Support

If self-service triage doesn’t solve your issue, we are here to help:


🛡️ Security Vulnerabilities

Please do not file public GitHub issues for security vulnerabilities. Review our Security Policy and report privately via GitHub Security Advisories or directly via email.


← Back to Documentation Overview