-1

我正在使用 apache commons cli 来解析参数。帮助输出:

usage: Code Generation
-d,--delete           
-f,--factory <arg>    
-o,--output <arg>     
-p,--package <arg>    
-r,--reasoner <arg>

我试图在运行配置参数选项卡中传递的参数是:

-f "FactoryName" -o "~/MyFolder" -p "生成代码"

执行似乎停止了,因为 parsedOptions.getArgList().size() 返回 0

解析代码的关键部分如下:

public static void main(String [] args) throws Exception {
CommandLine parsedOptions = parseArguments(args);
String outputFolderName = parsedOptions.getOptionValue("o");
File outputFolder = outputFolderName != null ? new File(outputFolderName) : new File("");
if (parsedOptions.getArgList().size() != 1) { // This should be false..
help();
System.exit(-1);
}
//Some other code
}

我怎样才能解决这个问题?

4

3 回答 3

1

如果您查看您的 Eclipse 运行配置,您会发现一个名为“Arguments”的选项卡。在那里您可以指定应该传递给您的程序的参数。有关详细信息,请参阅Eclipse 手册

之后,您CommandLine.getArgList()用于检查参数的数量,但这并不正确。它的Javadoc说:

检索任何剩余的无法识别的选项和参数

但是,如果我对您的理解正确,您想查看是否给出了特定选项。为此,您可能想看看hasOption()or getOptionValue()

于 2013-07-16T14:02:50.080 回答
1

创建运行配置时,您将看到参数选项卡,其中包含以下选项:

  1. 程序参数 - 将所有输入参数提供给程序
  2. VM Arguments - 在这里您可以提供内存参数。

希望这对您有所帮助。

干杯!!

于 2013-07-16T14:11:17.970 回答
0

在 Eclipse 中启动应用程序后,您将拥有一个“运行配置”。打开“运行配置”菜单(最简单的方法是通过绿色“运行按钮”上的下拉菜单。选择应用程序的运行配置。选择第二个选项卡“参数”并在顶部的输入字段中输入参数页面。按应用,它应该可以工作。用调试器测试它。

于 2013-07-16T14:05:18.270 回答