描述
我有一个命令行对象来解析我传递给它的选项。下面我向命令行传递了 2 个选项。
String[] userInputs = {"-option1","value1","option2","value2"};
Options options = new Options();
options.addOption(OptionBuilder.create("option1"));
options.addOption(OptionBuilder.create("option2"));
CommandLine commandLine = null;
try {
commandLine = new BasicParser().parse(options,userInputs);
} catch (ParseException e) {
e.printStackTrace();
}
问题
我有一个要求,我想通过从命令行中删除一个或多个选项(例如 option2)来运行一些单元测试。我已经尝试过这种方法-
options.getOptions().remove(options.getOption("option2"));
但这给了我一个 java.lang.UnsupportedOperationException。 我正在寻找一种干净的方法来删除我选择的任何选项。
版本
Maven依赖是-
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>