2012-03-28 141 views
3

我有一個Ant複製任務(由Jenkins構建調用的Maven腳本中定義),看起來是正確的,但不能正確複製。任務被定義爲螞蟻複製任務忽略文件

<copy todir="./Virgo/config" overwrite="true" verbose="true"> 
    <fileset dir="${config.folder}"> 
     <include name="*.properties, *.xml" /> 
    </fileset> 
</copy> 

當我運行的任務,我可以看到正確的目錄中指定,但副本任務不會選擇任何文件。源目錄和目標目錄都存在,並且我沒有收到任何錯誤。我所看到的是

14:52:40 [INFO] Executing tasks 
14:52:40 [DEBUG] getProperty(ns=null, name=ant.reuse.loader, user=false) 
14:52:40 [antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found. 
14:52:40  [echo] Copying files from ../com.x.y.z.container.build/config... 
14:52:40 fileset: Setup scanner in dir C:\Jenkins\workspace\container-build\com.x.y.z.container.build\config with patternSet{ includes: [*.properties, *.xml] excludes: [] } 
14:52:40 [INFO] Executed tasks 

我試着將文件添加到源目錄,使源文件比目標的那些更新,即使除去在目標目錄中的文件。令我困擾的是,即使路徑正確,fileset似乎也不匹配任何文件。有沒有人見過這種行爲?

回答

4

從在Ant手冊PatternSet部分:http://ant.apache.org/manual/Types/patternset.html

注意,雖然包括,但不包括屬性接受用逗號或空格分隔的多個元件,嵌套<include><exclude>元素期望他們的名字屬性保留一個單一模式。

您可以將您的腳本更改爲類似

<copy todir="./Virgo/config" overwrite="true" verbose="true"> 
    <fileset dir="${config.folder}"> 
     <include name="*.properties" /> 
     <include name="*.xml" /> 
    </fileset> 
</copy> 
+0

咦,這很有趣,我會嘗試,但我用我原來的語法在另一個項目和它的工作就好了,所以我想,不是嗎。但是你的建議奏效了! – TMN 2012-03-28 14:38:10

+0

我很高興它幫助! – 2012-03-28 14:45:09