2012-05-31 76 views
1

我在的build.xml而且即使needxmlfile以下戰爭任務設置爲螞蟻(1.8.2版本)抱怨當的web.xml文件不存在( 「BUILD 失敗...部署描述符:/home/.../web/WEB-INF/web.xml不存在」)戰爭Ant任務仍然抱怨

我錯過了什麼?

<target name="war" depends="build">                   
    <mkdir dir="${build.dir}"/>                     
    <war                           
     needxmlfile="false"                      
     basedir="${webroot.dir}"                     
     warfile="${build.dir}/${project.distname}.war"                
     webxml="${webinf.dir}/web.xml">                   
     <exclude name="WEB-INF/${build.dir}/**"/>                 
     <exclude name="WEB-INF/src/**"/>                   
     <exclude name="WEB-INF/web.xml"/>                   
    </war>                          
    </target> 
+1

爲什麼指定「webxml」屬性,如果該文件不存在?也許我錯過了一些東西。 –

+0

我對這個特殊情況的原因是爲一些Web項目使用了相同的Ant構建文件模板,其中一些不需要web.xml –

回答

1

@ O'Connor:謝謝使用文件集來提取web.xml的提示。不過,我不確定你對needxmlfile設置爲true是否正確(至少在我的實驗中,我目睹了你所描述的與之相反的情況)。無論如何,最終我意識到甚至不需要文件集,因爲Ant任務顯然將所有東西都打包在basedir(除非明確排除在外),所以我現在使用的是以下戰爭任務,它適用於以下戰爭任務:的web.xml文件存在與否:

<target name="war" depends="build">                  
    <mkdir dir="${build.dir}"/>                    
    <war                         
     needxmlfile="false"                     
     basedir="${webroot.dir}"                    
     destfile="${build.dir}/${project.distname}.war">              
     <exclude name="WEB-INF/${build.dir}/**"/>                
     <exclude name="WEB-INF/src/**"/>                  
    </war>                         
</target>   

設置needxmlfile爲「true」將導致螞蟻抱怨,如果沒有web.xml文件可以「華林」中找到。

1

ANT documentation狀態,除非needxmlfile屬性設置爲真正

試試這個,使用一個文件集的可選web.xml文件拉webxml屬性是強制性的。