2012-06-29 54 views
5

我想將命令行參數傳遞給通過假螞蟻調用的java程序(我們在perl中有我們自己的螞蟻腳本,在某些時候調用實際的螞蟻)。因此,我想要做的就是調用我的程序是這樣的:通過螞pass向java傳遞參數

./ant program_name arg1 arg2

現在我有一個Ant目標對我的計劃,但不是在命令行中傳遞參數我硬它們編碼到生成的文件是這樣的:

<arg line="arg1 arg2"/>

上^ h任何想法我可以在構建文件中使用變量並從命令行參數中加載它們,然後在我的Java程序中使用它們嗎?

回答

4

最簡單的方法是讓您的腳本通過-D轉入系統屬性。

您的ant構建文件可以使用這些來設置可在<arg>標記中設置的螞蟻屬性(或者直接引用,儘管我的偏好是設置螞蟻屬性,但這可能比任何習慣技術原因)。

+0

我對螞蟻不太瞭解。但是我們所擁有的ant腳本正在調用像這樣的東西:my $ cmdline =「$ ENV {JAVA_HOME}/bin/java -Xmx512m -Djava.ext.dirs = \」$ ENV {EXT_DIRS} \「 - Dant.home = $ ENV {ANT_HOME} org.apache.tools.ant.Main -emacs $ inp「; $ inp是我們在命令行給出的整個命令。那是你在說什麼? – comatose

+0

@comatose可能。我的方法意味着分割'$ inp'並將每個變成命名'-D'參數。我不確定如何在構建文件中訪問命令行參數,但如果您花了一些時間處理Ant手冊,它可能非常簡單 - 我從來沒有這樣做過。 –