Ant內建任務之replace

2021-08-15 14:15:31 字數 1483 閱讀 4653

replace是ant內建任務,用於將選擇的檔案中出現的指定字串替換為另乙個字串。如果要替換跨行的文字,必須巢狀replacetoken元素。當與存在的檔案不同時,才會寫入輸出檔案,以此防止此任務基於未變更的檔案進行偽重建。replace形成了乙個隱式檔案集,支援fileset的大多數屬性以及巢狀include、exclude、patternset元素。ant1.8起,replace支援巢狀任何基於檔案系統的資源集合。

file:要進行替換的檔案。

dir:替換多個檔案時使用的基本目錄。

encoding:進行替換的檔案編碼,預設為jvm編碼。

token:要替換掉的字串。

value:替換成的字串,如果不設定,預設為空字串「」。

summary:是否生成替換操作的摘要,詳細說明處理了多少字串和檔案,預設不生成摘要。

propertyfile:描述巢狀replacefilter元素指定的屬性的屬性檔案,當replacefilter元素使用property屬性時必須設定。

replacefilterfile:屬性檔案,每乙個屬性都視為乙個replacefilter,屬性名是token,屬性值是value。

includes:逗號或空格分隔的必須包含的檔案模式列表。

includesfile:檔名。指定檔案的每一行都會做為乙個includes模式。

excludes:逗號或空格分隔的必須排除的檔案模式列表。

excludesfile:檔名。指定檔案的每一行都會做為乙個excludes模式。

defaultexcludes:是否使用預設排除列表,預設為true。

preservelastmodified:ant1.8起,是否保留時間戳,即使檔案被修改,預設為false。

failonnoreplacements:ant1.8起,如果沒有做任何事是否構建失敗,預設為false。

replace還支援以下巢狀元素:

replacetoken/replacevalue:如果要替換的文字或替換文字跨行,可以使用這兩個巢狀元素來分別指定。支援以下屬性:

expandproperties:ant1.8起,是否擴充套件巢狀文字中的屬性,預設為false。

replacefilter:使用replacefilter元素,可以從屬性檔案中提取替換值,屬性檔案的名字通過replace任務的propertyfile屬性設定。支援以下屬性:

token:要替換掉的字串。

value:替換成的字串。

property:用其值作為替換值的屬性名。property與value不能同時指定。ant1.8起,token、value屬性可以作為replacefilter的巢狀元素使用。如果value和property都沒有設定,就使用replace的value屬性值或者replacevalue元素的值。如果這些都沒有設定,那麼就用空字串進行替換。

replacemulti$line

replacetovaluemulti$line

Ant內建任務之ant

ant是ant的內建任務,可以用來執行指定的構建檔案,所以可以用來構建子專案。如果呼叫的是同乙個構建檔案,那麼就必須在target中使用ant。antfile 使用的構建檔案,預設為build.xml 其路徑為相對於dir屬性所在的目錄 如果沒有配置antfle屬性,會使用dir屬性指定的目錄下的b...

Ant內建任務之cab

cab是ant內建任務,用於生成微軟的歸檔檔案。它的呼叫類似於jar和zip。執行這個任務需要在可執行路徑上有外部的cabarc工具,這個工具是微軟提供的。cab是乙個隱式的檔案集,支援fileset的大部分屬性並且可以巢狀include exclude和patternset元素。如果巢狀了file...

Ant內建任務之length

length是ant內建任務,ant1.6.3引入,用於顯示或設定乙個字串 檔案 乙個或多個巢狀資源集合的長度,可以作為條件使用。property 要設定屬性的屬性名。如果不設定會將結果寫到日誌中,length作為條件時忽略。file 單個檔案。resource 單個資源。string 字串。mod...