这是我的控制台输入:

Java TCPPing –p –端口9900 –mps 30 –大小1000 pcB

pcB是不带名称的选项的参数。

我如何获得没有选择的pcB参数?

小代码部分:

Options options = new Options();
options.addOption("", "hostname", true, "Hostname"); //no option name
options.addOption("port", "port", true, "TCP socket used for connection");

CommandLineParser parser = new DefaultParser();
CommandLine commandLine = parser.parse(options, args);

Integer port = Integer.parseInt(cmd.getOptionValue("port")); //works fine
String hostname = cmd.getOptionValue("hostname"); //doesn't work

最佳答案

看一下CommandLine.getArgList()CommandLine.getArgs()。它们应该执行您想要的操作,即它们返回未被解析为其他选项一部分的所有“剩余”参数。

List<String> args = cmd.getArgList();


有关完整说明,请参见https://commons.apache.org/proper/commons-cli/javadocs/api-release/org/apache/commons/cli/CommandLine.html#getArgList--

关于java - 如何在Commons CLI中获取没有选项名称的console-app参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38243906/

10-10 12:39