Нотатки програмістера Розбір аргументів командного рядка Java
IT – це чудово!
Розбір аргументів командного рядка у Java

Невелике введення
Commons CLI
Кожен парсер реалізує підхід до форматування параметрів із однойменного стандарту. Таке рішення дозволяє легко змінювати підхід до форматування параметрів.
Крім аналізу аргументів рядка запуску, Commons CLI дозволяє генерувати довідку, спираючись на описані параметри:
HelpFormatter досить гнучко налаштовується. Більш повний приклад його використання можна переглянути на офіційному сайті.
На жаль, у Commons CLI не передбачено поняттякоманда, що сильно обмежує можливості цієї бібліотеки.
JCommander
Зверніть увагу, що в цьому рішенні префікси в імені параметра вказуються вручну і вам не вдасться так просто змінити підхід до форматування параметрів. Але насправді кому це треба? :)
Натомість бібліотека підтримує різні типи параметрів. З коробки йдуть як мінімум стандартні типи, як Integer, String і Boolean. І передбачено гнучку систему для розширення цього списку через своїконвертори:
Після цього всі поля, позначені тегом Parameter в об'єкті hgLog, будуть ініціалізовані відповіднимиперевіренимизначеннями з командного рядка.
Найголовніше, що в цій бібліотеці анотації передбачені не тільки для полів класу, а й для самого класу. Анотація Parameters дозволяє оголосити клас, як реалізацію команди, не двозначно закликаючи дотримуватися патерну Команда:
JCommander також дозволяє виводити довідку, але в кастомізації форматування ця бібліотека поступається попередньою: