2012-12-06 46 views
0

我有一個foreach標籤來執行特定目錄中的所有文件。作爲文件集的一部分,我排除了兩個文件。ANT:使用目標屬性時不排除文件的Foreach

但不包括無關的文件,帕拉姆還通過兩個文件複製到目標「runpART」

我不想調用目標爲排除的文件。

讓我知道是否有辦法做到這一點。下列不似乎工作

<foreach target="runART" param="p.schedulerFile" inheritall="true" inheritrefs="true"> 
     <path> 
      <fileset dir="${p.dir}" casesensitive="no"> 
       <!--<include name="**\*.xml"/>--> 
       <excludesfile name="${pART.dir}\CodeCoverage_NSR.xml"/> 
       <excludesfile name="${pART.dir}\CodeCoverageRegression_HLR.xml"/> 
      </fileset> 
     </path> 
    </foreach> 

回答

1

你不想<excludesfile>,它期望一個文件,其中包含排除模式,你想

<exclude name="CodeCoverage_NSR.xml"> 
<exclude name="CodeCoverageRegression_HLR.xml"> 

現在,這是假設你的意思是有$ { p.dir} == $ {pART.dir}。 排除文件集中的模式必須相對於文件集的根目錄(這裏是它的dir =「$ {p.dir}」)。 欲瞭解更多信息,請參見:http://ant.apache.org/manual/Types/fileset.html

+0

謝謝。這個作品...這個環節沒有標籤http://ant.apache.org/manual/Types/fileset.html –

+0

很高興它幫助你。該鏈接確實會在頁面的後半部分的示例部分中向您顯示一些標籤。此外,它鏈接到patternset的文檔(http://ant.apache.org/manual/Types/patternset.html);文件集支持隱含的模式集,可以轉換爲:您可以使用子標記。 –

相關問題