Раньше я работал с Apache Commons Cli 1.2. Я хотел, чтобы синтаксический анализатор игнорировал аргументы, если они неизвестны (не добавлены в объект параметров).
Пример (псевдокод):
Options specialOptions;
specialOptions.addOption(null, "help", false, "shows help");
specialOptions.addOption(null, "version", false, "show version");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args); //no third argument, since i dont want the program to stop parsing.
// run program with args: --help --unknown --version
// program shall parse --help AND --version, but ignore --unknown
Я использовал это решение Паскаля Шефера: Can Анализатор параметров командной строки Apache Commons игнорирует неизвестные параметры командной строки?
У меня это отлично работало на 1.2, а также на 1.3.1. Но это устарело. Парсер, который я использовал, был заменен на DefaultParser
. Я посмотрел функционал, но такого метода нет processOptions
.
Я действительно хотел бы использовать код, который не будет удален в более поздних выпусках. Кто-нибудь знает, как решить эту проблему?