SkillAgentSearch skills...

Jvman

✨ JVMan (JDK Version Manager) is a powerful and easy-to-use tool specifically designed for managing multiple JDK versions on Windows, macOS, and Linux systems. It provides an intuitive graphical interface and can seamlessly download, install, and switch between different JDK versions.

Install / Use

/learn @l06066hb/Jvman
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

JDK Version Manager

Version Platform Python License Build Ko-fi

A user-friendly JDK version management tool supporting Windows, macOS, and Linux platforms.

English | 简体中文

Repository

  • GitHub: https://github.com/l06066hb/jvman
  • Gitee: https://gitee.com/l06066hb/jvman

Features

  • 🚀 Online JDK Download: Support major JDK distributions (Oracle JDK, OpenJDK, Eclipse Temurin, Microsoft OpenJDK, Amazon Corretto, Azul Zulu)
  • 📂 Local JDK Management: Support importing and managing locally installed JDKs, including package manager installations
  • 🔄 Smart Version Switching: Seamless switching through symbolic links, with quick access from system tray menu
  • 🛠 Environment Variable Management: Auto-configure and sync environment variables (JAVA_HOME, PATH, CLASSPATH), with backup and restore support
  • 💡 System Tray: Display current JDK version, support quick switching and status monitoring
  • 🎨 Theme Switching: Built-in light, dark, and cyan themes with system theme auto-follow
  • 🌐 Internationalization: Complete Chinese and English interface support with runtime switching
  • 📚 Documentation: Built-in detailed user guide with search and quick navigation
  • 🖥 Multi-platform Support:
    • Windows: Support Windows 10/11 native symbolic links, auto-configure system environment variables
    • macOS: Support symbolic link switching, auto-update shell configuration (bash/zsh)
    • Linux: Support symbolic link switching, auto-update shell configuration files (bash/zsh/fish)
  • 🔧 Portable Mode: Support both portable (standalone) and installer versions
  • 🔄 Auto Update: Support online update checking with configurable update cycle and notification

Screenshots

Main Interface

Main Interface

System Requirements

  • Windows 10/11, macOS 10.15+, or Linux (major distributions)
  • Python 3.8+
  • PyQt6 >= 6.4.0
  • Disk Space: At least 100MB (excluding downloaded JDKs)

Installation

Download

Windows

  1. Installer Version
    • Download and run the latest installer (jvman-x.x.x-windows-setup.exe)
    • Follow the installation wizard
    • Launch from Start menu or desktop shortcut
  2. Portable Version
    • Download the latest ZIP file
    • Extract to any directory
    • Run jvman.exe

macOS

  1. Download the latest DMG file
  2. Open DMG and drag the app to Applications folder
  3. Run jvman.app

Linux(testing)

  1. Download the latest AppImage or deb/rpm package
  2. Install the package or run AppImage directly

From Source

  1. Clone repository:
git clone https://gitee.com/l06066hb/jvman.git or https://github.com/l06066hb/jvman.git
cd jvman
  1. Install dependencies:
pip install -r requirements.txt
  1. Run the program:
python src/main.py

Usage Guide

Basic Features

Local JDK Management

  1. Add Local JDK
    • Click "Add Local JDK"
    • Select JDK installation directory
    • Confirm addition
  2. Version Switching
    • Select target JDK from list
    • Click "Switch Version" or use tray menu for quick switching
    • Wait for completion

Online JDK Download

  1. Select JDK distribution and version
  2. Choose download directory
  3. Click download and wait for completion
JDK Distribution Notes
  • Oracle JDK: Official distribution, Oracle account required
  • OpenJDK: Official open-source version
  • Eclipse Temurin: Maintained by Eclipse Foundation, long-term stable support
  • Amazon Corretto: Amazon distribution, optimized for cloud environments
  • Zulu OpenJDK: Azul distribution, comprehensive version support
Download Tips
  • Recommend LTS (Long Term Support) versions for production
  • If download fails, try:
    1. Use proxy or VPN
    2. Switch to another distribution
    3. Download manually from official website and import
  • Some versions may be unavailable due to end of support

Advanced Features

Environment Variable Management

  • Auto-configure JAVA_HOME, PATH, and CLASSPATH
  • Support both automatic and manual configuration modes
  • Real-time environment variable sync status display

IDE Integration

  • Support major IDEs (IntelliJ IDEA, VS Code, Eclipse)
  • Automatic version sync using symlink path
  • See IDE Integration Guide for details

System Tray

  • Real-time display of current JDK version
  • Quick version switching
  • Minimize to tray for background operation

Platform-Specific Notes

Windows

  • Uses symbolic links for version switching
  • Admin privileges required for system environment variables
  • Supports Windows 10/11 native symbolic links
  • Auto-configures system environment variables (JAVA_HOME, PATH)

macOS

  • Uses symbolic links for version switching
  • Auto-updates shell config files (~/.zshrc, ~/.bash_profile)

Linux

  • Uses symbolic links for version switching
  • Auto-updates shell config files (~/.bashrc, ~/.zshrc)

Important Notes

  • Recommend using ZIP version JDKs to avoid conflicts
  • Try manual download if automatic download fails

Download Sources

  • Oracle JDK: https://www.oracle.com/java/technologies/downloads/
  • OpenJDK: https://jdk.java.net/
  • Eclipse Temurin (Adoptium): https://adoptium.net/temurin/releases/
  • Amazon Corretto: https://aws.amazon.com/corretto/
  • Zulu OpenJDK: https://www.azul.com/downloads/

Build Instructions

Build Portable Version

python scripts/build.py --platform windows --type portable

Build Installer

python scripts/build.py --platform windows --type installer

Build All

python scripts/build.py --platform windows --type all

Latest Version

v1.0.11 Major Updates:

  • ✨ [Added] MacOS native menu bar support
  • ✨ [Added] MacOS Dock menu support
  • ✨ [Added] -Add application standard shortcut key support
  • ✨ [Added] -Add internationalization support related to window management
  • 🔄 [Changed] Window behavior on macOS platform
  • 🔄 [Changed] -Improve the interaction method of tray icons

For complete release notes, please check CHANGELOG.en.md

Contributing

We welcome Issues and Pull Requests to help improve this project.

Development Environment Setup

  1. Ensure Python 3.8 or higher is installed
  2. Install virtual environment (recommended):
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. Install development dependencies:
pip install -r requirements-dev.txt
  1. Security Notes:
  • Don't hardcode any keys or sensitive information
  • Use .env file for local config (excluded in .gitignore)
  • Ensure sensitive information isn't committed

Code Submission

  1. Fork the project to your repository
  2. Create a feature branch:
git checkout -b feature/your-feature-name
  1. Commit changes:
git commit -am 'Add new feature: feature description'
  1. Push to your repository:
git push origin feature/your-feature-name
  1. Create Pull Request

Code Standards

  • Code Style

    • Follow PEP 8 coding standards
    • Use Black for code formatting (line length: 88)
    • Use isort for import sorting
    • Use flake8 for code quality checks
    • Use mypy for type checking
  • Commit Standards

    • Run unit tests before submission: pytest tests/
    • Commit message format:
      <type>: <description>
      
      <optional detailed description>
      
    • Type descriptions:
      • feat: New feature (e.g., adding dark theme)
      • fix: Bug fix (e.g., fixing environment variable setup)
      • docs: Documentation changes (e.g., updating README)
      • style: Code formatting (e.g., adjusting indentation)
      • refactor: Code refactoring (e.g., restructuring configuration)
      • perf: Performance optimization (e.g., improving download speed)
      • test: Test cases (e.g., adding unit tests)
      • ci: Continuous integration (e.g., modifying GitHub Actions)
      • chore: Other changes (e.g., updating dependencies)

Project Structure

jvman/
├── src/                # Source code directory
│   ├── ui/            # User interface code
│   ├── utils/         # Utility classes and helper functions
│   └── i18n/          # Internationalization resources
├── tests/             # Test cases
├── docs/              # Documentation
├── scripts/           # Build and utility scripts
├── config/            # Configuration files
├── resources/         # Resource files
│   └── icons/        # Icon resources
└── requirements/      # Dependency configuration files

FAQ

Q: How to fix environment variable setup failure?

A: Ensure running with admin privileges or manually copy environment variable values.

Q: What to do if download is slow?

A: Configure proxy server in settings or use manual download feature.

Q: How to backup current configuration?

A: Program config files are stored in %APPDATA%/jvman, simply copy this directory.

Q: How to handle version switch failure?

A: Check for sufficient privileges and ensure target JDK directory exists and is complete.

License

This project is licensed under the MIT License - see the [LICENSE](LICEN

Related Skills

View on GitHub
GitHub Stars4
CategoryProduct
Updated9d ago
Forks0

Languages

Python

Security Score

85/100

Audited on Mar 26, 2026

No findings