2012-02-14 60 views
1
<target name="init"> 
    <mkdir dir="${build.dir}" /> 
    <if> 
     <available file="../war" type="dir"/> 
      <then></then> 
     <else> 
      <mkdir dir="../war" /> 
     </else> 
    </if> 
</target> 

這是我使用的檢查,如果一個文件夾中存在的代碼,但得到以下錯誤:使用Ant和麪臨的問題

原因:這個名字是不確定的。

操作:檢查拼寫。

操作:檢查是否聲明瞭任何自定義任務/類型。

操作:檢查是否發生了任何/聲明。

我在ANT_HOME/lib中複製了ant-contrib.jar。我在哪裏錯了?

+2

嘗試的taskdef添加到當前項目 - HTTP: //ant-contrib.sourceforge.net/ – 2012-02-14 04:53:22

回答

4

鑑於上面的例子中,可以大大簡化它:

<target name="init"> 
    <mkdir dir="${build.dir}" /> 
    <mkdir dir="../war" /> 
</target> 

...因爲mkdir任務不執行任何操作,如果該文件夾存在(見documentation)。

如果你問如何使用螞蟻ifthen,我建議您選擇另一個例子,因爲在Ant中每個動作往往有建於自己的條件語句

+0

多數民衆贊成更簡單...謝謝你... – lee 2012-02-14 04:59:39