我有一個逗號分隔值的屬性,例如。 a,b,c將屬性轉換爲路徑
我想分解它並創建不同文件集的路徑;例如。
<path id="compile.path">
<fileset dir="..\a\lib\"/>
<fileset dir="..\b\lib\"/>
<fileset dir="..\c\lib\"/>
</path>
這可能嗎?我該怎麼做?我對螞蟻不是很熟悉。任何幫助讚賞。
我有一個逗號分隔值的屬性,例如。 a,b,c將屬性轉換爲路徑
我想分解它並創建不同文件集的路徑;例如。
<path id="compile.path">
<fileset dir="..\a\lib\"/>
<fileset dir="..\b\lib\"/>
<fileset dir="..\c\lib\"/>
</path>
這可能嗎?我該怎麼做?我對螞蟻不是很熟悉。任何幫助讚賞。
您必須使用自定義腳本或非標準的Ant任務。看看this SO answer which explains how to get a substring form a property讓你開始。
另一種方法是編寫for循環,基於分隔符迭代原始屬性,並從循環中爲每個標記調用一個目標。
<foreach list="${property}" delimiter="${line.separator}" target="mytarget"
param="token" />
,則被叫目標:
<target name="mytarget">
<echo>${token}</echo>
</target>
我需要創建一個路徑元素。我熟悉這些foreach,但我不能用它來建立一個路徑元素。 –
另一種方式是
<property name="package.ABC.name" value="abc pack name" />
<property name="package.DEF.name" value="def pack name" />
<property name="package.GHI.name" value="ghi pack name" />
<property name="package.JKL.name" value="jkl pack name" />
<propertyselector property="pack.list"
delimiter=","
match="package\.([^\.]*)\.name"
select="\1"
casesensitive="false" />
would yield the results
ABC,DEF,GHI,JKL
這不符合我的要求,因爲它使用一個或多個屬性來創建另一個屬性。我需要一個路徑元素。 –
我希望這不會是這樣使用
PropertySelector
從螞蟻的contrib。感謝您指點我正確的方向。 –