2012-01-17 71 views
2

在ant副本任務中,在目標位置路徑中有一個「隨機數」文件夾。當我嘗試在路徑中放置一個*來處理它時,Ant從字面上理解它,即不擴展它,但創建一個名爲「*」的文件夾並在那裏複製。我該如何告訴Ant擴大*實際文件夾名稱有(只有1中有文件夾,因此*不會擴展到多個文件夾)在Ant副本任務中擴展*

<property name="dest" value="a/*/b/my.jar" /> 
<property name="src" value="my.jar" /> 

<copy file="${src}" tofile="${dest}" overwrite="true" verbose="true"/> 

回答

5

copy任務不支持在tofile屬性通配符。如果目標目錄存在,但目標文件可能不存在,則可以使用dirset來捕獲該目錄。喜歡的東西:

<dirset dir="${basedir}" id="dest.dir"> 
     <include name="a/*/b" /> 
</dirset> 
<property name="dest" value="${toString:dest.dir}/my.jar"/> 
<property name="src" value="my.jar" /> 

<copy file="${src}" tofile="${dest}" overwrite="true" verbose="true"/> 

而是使用屬性助手(${toString:....})語法您可以使用pathconvert task

<pathconvert property="destdir" refid="dest.dir"/> 
<property name="dest" value="${destdir}/my.jar"/>