2013-01-07 159 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