Парсинг аргументов через picocliСегодня создадим готовый CLI с флагами, параметрами и встроенной справкой (
--help,
--version) без ручного парсинга.
Подключаем:
implementation "info.picocli:picocli:4.7.6"
Теперь определим саму команду, которая будет выполняться при запуске:
@picocli.CommandLine.Command(
name = "hello",
mixinStandardHelpOptions = true
)
class Hello implements Runnable {
Далее добавим флаг, который управляет выводом:
@picocli.CommandLine.Option(
names = "--upper",
description = "Выводить в верхнем регистре"
)
boolean upper;
Теперь зададим параметр, который нужно будет передать при вызове:
@picocli.CommandLine.Parameters(
paramLabel = "NAME",
description = "Имя пользователя"
)
String name;
И наконец, опишем основную логику работы программы:
public void run() {
var msg = "Hello, " + name;
System.out.println(upper ? msg.toUpperCase() : msg);
}}🔥 Такой подход экономит время, упрощает код и делает консольные утилиты более профессиональными и удобными для пользователя.
👉 Java Ready | #практика