2009-05-21 52 views
2

我想通過使用配置文件與ant來自定義我的構建。我打算做的是使用配置文件,它具有以下模式: 文件路徑,要匹配的模式,要替換的模式在構建配置文件中使用ant

我想要它,這樣我只需將配置文件添加到配置文件中,並且ant構建腳本讀取增加這些值並進行所需的更改。

我已經知道如何在文件中執行正則表達式查找和替換。我正在尋找的是一種從這種配置文件讀取值的方法。

回答

1

有多種方式可以從Ant中的文件讀取信息。

通用的是LoadFile Ant Task。然而,我會推薦loadProperties Task。您可以使用此任務來讀取以下屬性: toReplace = string_to_replace with = replacement_string,然後在您的正則表達式中使用屬性「toReplace」和「with」。

+1

但是,那麼會不會導致不可變的變量toReplace和?我想循環遍歷文件並進行所有更改。 – Prashast 2009-05-22 01:39:34

0

如果我正確理解了你,你想爲各種環境生成一組配置文件。

我目前使用的解決方案是由Ant任務調用的Groovy腳本。由於Ant不會讓您重新定義已經設置的屬性,因此使用它來生成具有不同值的多個文件是非常棘手的。

如果你想探索這個,只要看看Groovy,尤其是Template Engine

1

我會在螞蟻中使用filterset功能。你可以使用pattern @ replace_me @創建一個你想要替換的字符串的參數化版本。然後定義一個屬性文件來定義替換值。你可以

<copy toDir="${dist.dir}/docs"> 
    <fileset file="config.xml"/> 
    <filterset> 
    <filtersfile file="path/to.properties"/> 
    </filterset> 
</copy> 

然後,屬性文件只是名稱=值線。

您在指定文件集和filterset時有很大的靈活性,請參閱這些Ant文檔。