Picocli: как сделать необходимые подкоманды - PullRequest
0 голосов
/ 29 октября 2018

У меня есть команда с подкомандами. В моем приложении я хочу, чтобы пользователь обязательно указывал подкоманду. Как мне это сделать?

(см. Также https://github.com/remkop/picocli/issues/529)

1 Ответ

0 голосов
/ 29 октября 2018

Один из способов добиться этого - показать ошибку, если команда верхнего уровня вызывается без подкоманды.

Например:

@Command(name = "top", subcommands = {Sub1.class, Sub2.class})
class TopCommand implements Runnable {

    public void run() {
        System.err.println("Please invoke a subcommand");
        new CommandLine(this).usage();
    }

    public static void main(String[] args) {
        CommandLine.run(new TopCommand(), args);
    }
}

@Command(name = "sub1)
class Sub1 implements Runnable {
    public void run() {
        System.out.println("All good, executing Sub1");
    }
}

@Command(name = "sub2)
class Sub2 implements Runnable {
    public void run() {
        System.out.println("All good, executing Sub2");
    }
}
...