2013-01-07 54 views
0

在java中解析这个命令行参数的最佳方法是什么?解析-D命令行参数java

$ ant run -Dfilename=(filename_value) -Dmemory_size=(memory_size) -Dk=(k_value) 

我实际上并没有使用ant,但我的项目将在此命令行中进行评估。 因此,我试图通过在运行配置中添加此示例参数来测试netbeans上的这一点。

-Dfilename="C:\\Users\\y_guz_000\\Dropbox\\active projects\\ExternalSort2\\resources\\input.xml" -Dmemory_size="3" 
-Dk="2" 

我与输出结果:

System.out.println(System.getProperty("filename")); 
System.out.println(System.getProperty("memory_size")); 
System.out.println(System.getProperty("k")); 

然而结果是

null 
null 
null 
+0

通常,您传递JVM为您解析的属性。你想在'ant'中做什么,或者从'ant'运行一个程序? –

+0

JVM如何解析我?我该如何使用它? –

+0

为什么解析它? '-D'参数可用作系统变量。 –

回答

1

假设你有一个标准的Netbeans的Java SE或Maven的Java应用程序项目:

在NetBeans“项目”树左键,右键点击你的项目图标。为“类别”列表选择“运行”列表项,并且您有用于输入程序和虚拟机参数的文本字段(此处为-D)。

+0

我现在看到谢谢。蚂蚁会自动做这个吗? –

+0

VM选项不在您定义的位置。我发现它在运行>配置 –

+0

这取决于你的Netbeans版本和项目的类型。是的,它是由ant自动完成的,每次启动程序时,它都将从这些文本字段的值开始 - 它被称为“运行配置”。您可以为一个项目配置多个运行配置(这是我的计算机“类别”列表中的“配置”列表项)。 – linski