awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
remkop avatar

remkop/picocli

0
View on GitHub↗
5,387 星标·467 分支·Java·Apache-2.0·4 次浏览picocli.info↗

Picocli

picocli 是一个用于 JVM 应用的命令行接口(CLI)开发框架和参数解析器。它使用声明式的注解模型,将命令行选项和位置参数映射到强类型的 Java 方法和字段。

该框架为原生镜像(Native Image)编译提供了特定支持,生成构建具有更低启动开销的独立二进制文件所需的反射和资源配置文件。它还以专门的 shell 自动补全脚本生成系统和用于为输出应用颜色与样式的 ANSI 终端美化器而著称。

该项目涵盖了广泛的终端应用功能,包括用于嵌套子命令的层级命令分发、自动生成使用帮助和 man 手册页,以及带有用户提示的交互式 shell 实现。它还包括通过自定义工厂进行依赖注入、基于插件的类型转换以及处理外部参数文件的基础设施。

Features

  • Command Line Argument Parsers - Implements a powerful parser that converts raw shell input into structured Java objects based on defined requirements.
  • Command Line Argument Parsing - Converts raw terminal input into strongly typed Java objects using named options and positional parameters.
  • Command-Line Interface Development - Provides a framework for building terminal applications that map arguments and options to strongly typed Java data.
  • Nested Command Structures - Creates hierarchical command structures that allow users to navigate complex toolsets through sub-levels.
  • Command Hierarchies - Executes nested command hierarchies based on user input using aliases and lazy instantiation.
  • AOT Metadata Generation - Produces the reflection and resource configuration files necessary to build standalone binaries with reduced startup overhead.
  • Annotation-Based Model Mapping - Implements a declarative model that maps command line options and parameters to strongly typed Java fields using annotations.
  • Hierarchical Command Dispatch - Supports hierarchical command dispatch for complex toolsets with nested subcommands.
  • CLI Command Mapping - Maps command line arguments and options directly to specific methods and fields for automated execution.
  • Reflection-Based Population - Uses reflection to populate typed fields in command objects from raw string arguments during the parsing phase.
  • Argument Grouping - Groups related options to enforce mutual exclusivity or require that certain parameters appear together.
  • CLI Type Converters - Transforms command line strings into complex data types using built-in converters or custom implementation classes.
  • Type Conversion Registries - Implements a registry of interchangeable converter classes to transform command line strings into complex Java types.
  • Native Binary Optimizations - Offers specific support for GraalVM native image compilation to create fast-starting standalone binaries.
  • CLI Documentation Generation - Automatically produces formatted usage help, man pages, and technical documentation from command definitions.
  • Recursive Argument File Parsing - Supports reading options from external files to bypass operating system command line length limits.
  • External Argument File Processing - Reads input from external files to bypass operating system limits on command line length.
  • Help Generators - Produces formatted help messages with synopses and option lists that adapt to terminal width.
  • Interactive CLI Prompts - Provides interactive CLI prompts for collecting user input, including secure fields for passwords.
  • Interactive Shells - Implements persistent interactive shell sessions combining command parsing with real-time tokenization.
  • Man Page Generation - Automatically generates Unix man pages and other documentation formats from CLI definitions.
  • Native AOT Compilation - Enables compilation into standalone binaries to eliminate runtime startup overhead and increase speed.
  • Shell Autocompletion Scripts - Generates shell autocompletion scripts to provide interactive suggestions for options and subcommands.
  • Shell Completion Generators - Generates context-sensitive shell autocompletion scripts for options and subcommands across various terminal shells.
  • Native Compilation Metadata - Produces reflection and resource configuration files necessary for ahead-of-time native binary compilation.
  • Native Image Compatibility Tools - Builds the command model at compile time to ensure full compatibility with native image compilers.
  • Executable Interface Frameworks - Enables the creation of command line tools that operate either within or independently of a runtime environment.
  • CLI - Restricts options by defining mutual exclusivity or specifying exact counts and ranges for parameters.
  • Terminal Color Formatting - Provides a dedicated ANSI terminal stylizer for applying colors and styles to text output.
  • Terminal Styling - Applies ANSI colors and styles to terminal output using markup codes for visual emphasis.
  • Java CLI Frameworks - Modern framework for building user-friendly CLI apps.
  • Scripting Tools - Framework for building feature-rich command-line interfaces.

Star 历史

remkop/picocli 的 Star 历史图表remkop/picocli 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Picocli 的开源替代方案

相似的开源项目,按与 Picocli 的功能重合度排序。
  • fastapi/typerfastapi 的头像

    fastapi/typer

    19,632在 GitHub 上查看↗

    This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili

    Pythoncliclickpython
    在 GitHub 上查看↗19,632
  • cliutils/cli11CLIUtils 的头像

    CLIUtils/CLI11

    4,322在 GitHub 上查看↗

    CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell input to typed variables and supports the creation of complex command hierarchies. The library is distinguished by its support for nested subcommands with infinite depth and prefix matching. It integrates configuration management by allowing application settings to be loaded from TOML or INI files, with the ability to fall back to environment variables. The project provides a comprehensive set of tools for argument parsing, including flags and positional arguments, alongside

    C++clicli-parsercpp11
    在 GitHub 上查看↗4,322
  • commandlineparser/commandlinecommandlineparser 的头像

    commandlineparser/commandline

    4,817在 GitHub 上查看↗

    This library is a .NET command line parser for C# and F# that implements POSIX getopt conventions to map shell arguments into strongly typed objects. It provides a framework for building console applications that process Unix-style flags and options. The project features a routing system that directs program execution based on action-oriented verbs, supporting sub-commands and default actions. It includes an automatic help generator that produces localized usage instructions and formatted help screens based on the defined command options. The toolset covers argument parsing with strongly typ

    C#command-linedotnetdotnet-core
    在 GitHub 上查看↗4,817
  • clap-rs/clapclap-rs 的头像

    clap-rs/clap

    16,528在 GitHub 上查看↗

    Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation

    Rustargument-parserargument-parsingcommand-line
    在 GitHub 上查看↗16,528
查看 Picocli 的所有 30 个替代方案→

常见问题解答

remkop/picocli 是做什么的?

picocli 是一个用于 JVM 应用的命令行接口(CLI)开发框架和参数解析器。它使用声明式的注解模型,将命令行选项和位置参数映射到强类型的 Java 方法和字段。

remkop/picocli 的主要功能有哪些?

remkop/picocli 的主要功能包括:Command Line Argument Parsers, Command Line Argument Parsing, Command-Line Interface Development, Nested Command Structures, Command Hierarchies, AOT Metadata Generation, Annotation-Based Model Mapping, Hierarchical Command Dispatch。

remkop/picocli 有哪些开源替代品?

remkop/picocli 的开源替代品包括: fastapi/typer — This project is a Python framework for building command-line interfaces by converting standard functions into… cliutils/cli11 — CLI11 is a header-only C++ library for parsing command line arguments and managing configuration files. It maps shell… commandlineparser/commandline — This library is a .NET command line parser for C# and F# that implements POSIX getopt conventions to map shell… clap-rs/clap — Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through… urfave/cli — This is a framework for building structured terminal applications in Go. It provides the core components necessary to… spectreconsole/spectre.console — Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It…