如何使用Eclipse中的运行配置参数将参数传递给我的Java main方法?

时间:2013-07-16 13:59:43

标签: java eclipse command-line-interface

我正在使用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“generatedcode”

执行似乎停止了因为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
}

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

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

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

  

检索任何遗留的未识别选项和参数

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

答案 1 :(得分:1)

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

  1. 程序参数 - 将所有输入参数提供给程序
  2. VM Arguments - 您可以在这里给出内存参数。
  3. 希望这会对你有所帮助。

    干杯!!

答案 2 :(得分:0)

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