Picocli 命令行框架

发布于:2025-02-10 ⋅ 阅读:(48) ⋅ 点赞:(0)

官方文档
https://picocli.info/
官方提供的快速入门教程
https://picocli.info/quick-guide.html

使用 Picocli 创建命令行应用程序

Picocli 是一个用于构建 Java 命令行应用的强大框架,它简化了参数解析和帮助消息生成的过程。
下面是如何使用 Picocli 构建简单命令行程序的方法。

安装依赖项

对于 Maven 用户来说,可以在 pom.xml 文件里加入如下配置

<!-- https://picocli.info -->
<dependency>
    <groupId>info.picocli</groupId>
    <artifactId>picocli</artifactId>
    <version>4.7.5</version>
</dependency>

编写主类

import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
import picocli.CommandLine.Parameters;
// some exports omitted for the sake of brevity

@Command(name = "ASCIIArt", version = "ASCIIArt 1.0", mixinStandardHelpOptions = true) 
public class ASCIIArt implements Runnable { 

    @Option(names = { "-s", "--font-size" }, description = "Font size") 
    int fontSize = 19;

    @Parameters(paramLabel = "<word>", defaultValue = "Hello, picocli", 
               description = "Words to be translated into ASCII art.")
    private String[] words = { "Hello,", "picocli" }; 

    @Override
    public void run() { 
        // The business logic of the command goes here...
        // In this case, code for generation of ASCII art graphics
        // (omitted for the sake of brevity).
    }

    public static void main(String[] args) {
        int exitCode = new CommandLine(new ASCIIArt()).execute(args); 
        System.exit(exitCode); 
    }
}
  • 创建一个实现 Runnable 或 callable 的类。这是您的命令。
  • 为类添加 @command 注解并为其命名。mixinstandardHelpOptions 属性将 --help 和 --version 选项添加到您的应用程序中。
  • 对于应用程序中的每个选项,添加 @Option 注解。此示例显示了如何为选项提供名称和描述,还有许多其他属性。
  • 对于每个位置的参数,添加 @Parameters 注解。
  • Picocli 会将命令行参数转换为强类型值,并将这些值注入到带注解的字段中。
  • 在类的 run 或者 call 方法中定义业务逻辑。解析成功完成后,将调用该方法。
  • 在类的main 方法中,使用方法CommandLine.execute 执行程序。 这将解析命令行、处理错误、处理使用和版本帮助请求,并调用业务逻辑。
  • CommandLine.execute System.exit 方法返回退出代码。您的应用程序可以使用此退出代码进行调用,以向调用进程发出成功或失败的信号。

网站公告

今日签到

点亮在社区的每一天
去签到