2011-03-10 171 views
1

我正在讀取ant中的文件並通過loadproperties加載屬性。我有興趣使用名稱未知的特定屬性的值。我知道它遵循一種模式,因爲這是我如何加載屬性。螞蟻中的動態屬性名稱

我可以echoproperties,看看它正在加載。

但我不知道如何訪問它的值,因爲它的名字實際上是一個模式,而不是硬編碼。

如何訪問此屬性的值來執行一些處理。

我希望這很清楚。請問我是否需要澄清更多。

+0

你能給的示例模板和匹配屬性名稱? –

回答

0

您應該使用Ant的script任務。

我建議使用beanshell腳本,因爲它是純java。 例如,要打印所有屬性爲您的項目,使用以下命令:

<target name="echoprops"> 
    <script language="beanshell"> 
     System.out.println("All Properties: " + project.getProperties().keySet()); 
    </script> 
</target> 

應該很容易修改上面的腳本來得到你想要的屬性。

要使用此任務,您將需要運行在$ ANT_HOME第一以下:

ant -f fetch.xml script -Ddest=user 

這將下載所有必需的可選罐子到〜/趙軍陽張志利/ lib目錄下。

2

看看ant-contrib包。它的propertycopy任務將完成你所需要的任務。如果您需要按照已建立的模式解析任意數量的屬性,則可以將ant-contrib的propertycopy與ant-contribs「for」任務結合使用。

http://ant-contrib.sourceforge.net/tasks/tasks/index.html