ry
ry
发布于 2024-01-09 / 72 阅读 / 0 评论 / 0 点赞

picocli 命令行程序开发框架

picocli:java命令行程序框架

引入maven
        <!-- https://picocli.info -->
        <dependency>
            <groupId>info.picocli</groupId>
            <artifactId>picocli</artifactId>
            <version>4.7.5</version>
        </dependency>
使用方法
package com.rytools.cli.example;

import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;

import java.util.concurrent.Callable;

@Command(name = "login", version = "login 1.0", mixinStandardHelpOptions = true)
public class LoginCommand implements Callable {
    @Option(names = {"-u", "--username"},
            description = "User name",
            interactive = true,
            echo = true,
            prompt = "username: ")
    String userName = "";

    @Option(names = {"-p", "--password"},
            description = "Password",
            interactive = true,
            echo = false,
            prompt = "password: ")
    String password = "";

    @Option(names = {"-c", "--connection-info"},
            description = "Connection info",
            interactive = true,
            echo = true,
            prompt = "connection url: ")
    String info = "";

    @Override
    public Object call() throws Exception {
        System.out.println(info);
        return 0;
    }

    public static void main(String[] args) {
        int exitCode = new CommandLine(new LoginCommand()).execute("-c 1234");
    }
}


评论