Я пишу приложение Java, которое принимает аргументы командной строки, которые обрабатываются с помощью Apache Commons CLI с помощью GnuParser. По причинам, которые не интересны для ввода, я хотел бы, чтобы он молча игнорировал неизвестные параметры командной строки вместо того, чтобы бросать ParseException, но я не вижу способа сделать это. Я вижу, что в GnuParser.parse() есть опция bAnNoOption boolean, но то, что я хочу, больше похоже на ignoreAtNonOption, где она будет продолжать обрабатывать параметры после обнаружения неизвестного токена.
Я мог бы реализовать свой собственный синтаксический анализатор, чтобы выполнить это, но я удивлен, что встроенная функция не создана, поэтому я решил проверить, прежде чем идти по этой дороге.
Пример кода, о котором я говорю:
try {
CommandLine commandLine = parser.parse(options, args);
// stopAtNonOption set to true (below) is also not what I want
// CommandLine commandLine = parser.parse(options, args, true);
} catch (ParseException e) {
LOG.error("error parsing arguments", e);
throw new RuntimeException(e);
}