Я пишу приложение Java, которое принимает аргументы командной строки, которые обрабатываются с помощью Apache Commons CLI с GnuParser. По причинам, в которые не интересно разбираться, Я хотел бы, чтобы он молча игнорировал неизвестные параметры командной строки вместо того, чтобы генерировать исключение ParseException, но я не вижу способа сделать это. Я вижу, что в GnuParser.parse () есть логическая опция stopAtNonOption, но то, что я хочу, больше похоже на 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);
}