解析-D命令行参数java
在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
$ 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自动完成的,每次您启动程序时,它都将使用这些文本字段中的值启动,这称为“运行配置”。一个项目可以有多个运行配置(它是我的计算机上“类别”列表中的“配置”列表项)。