Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析-D命令行参数java_Java_Ant - Fatal编程技术网

解析-D命令行参数java

解析-D命令行参数java,java,ant,Java,Ant,在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\\r

在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

您没有将系统变量传递给java程序,而是将它们传递给
ant
,因此这是意料之中的。谷歌搜索“ant run set system properties”这似乎是您需要的信息:

假设您有一个标准的Netbeans Java SE或Maven Java app项目:


在左侧的Netbeans“项目”树中,右键单击项目图标。为“类别”列表选择“运行”列表项,您可以在其中输入程序和VM参数的文本字段(-D)。

通常,您会传递JVM为您解析的属性。在
ant
中,或者从
ant
运行的程序中,您想做什么?JVM如何为我解析?我如何使用它?解析它是为了什么
-D
参数可作为系统变量使用。
system.getProperty(“文件名”)
在Java中,您使用system.getProperty(“文件名”)。您没有运行Java,您正在使用一个ant脚本,该脚本使用脚本中带有
${filename}
的属性。VM选项不在您定义的位置。我在Run>ConfigurationIt上找到它,这取决于您的Netbeans版本和项目类型。是的,它是由ant自动完成的,每次您启动程序时,它都将使用这些文本字段中的值启动,这称为“运行配置”。一个项目可以有多个运行配置(它是我的计算机上“类别”列表中的“配置”列表项)。