Я пишу 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);
}