zip文件不能包含自身-Ant生成错误
在使用Ant builder进行构建时,以下代码的第一行出现错误zip文件不能包含自身-Ant生成错误,ant,build,spring-mvc,Ant,Build,Spring Mvc,在使用Ant builder进行构建时,以下代码的第一行出现错误 <war warfile="${wartemp.dir}/${name}.war" basedir="${wartemp.dir}" webxml="${wartemp.dir}/WEB-INF/web.xml"> <include name="*"/> <include name="scripts/**"/> <in
<war warfile="${wartemp.dir}/${name}.war" basedir="${wartemp.dir}" webxml="${wartemp.dir}/WEB-INF/web.xml">
<include name="*"/>
<include name="scripts/**"/>
<include name="styles/**"/>
<include name="images/**"/>
<include name="WEB-INF/*.*"/>
<include name="WEB-INF/lib/**"/>
<include name="WEB-INF/views/**"/>
<include name="WEB-INF/classes/**"/>
<include name="WEB-INF/jsp/**"/>
<include name="WEB-INF/resources/**"/>
<include name="WEB-INF/spring/**"/>
<include name="WEB-INF/messages/**"/>
<include name="WEB-INF/layouts/**"/>
<exclude name="WEB-INF/web.xml"/>
<exclude name="**/.*"/>
</war>
错误消息是:
“../WEB-INF/build.xml:67:zip文件不能包含自身”
第67行是上面发布的代码片段的第一行
我是Spring框架的初学者。我正在使用SpringVersion3和springsource工具套件。如何解决这个问题?
谢谢。您的basedir与发送输出war文件的目录相同。这本身不是问题,问题是您将
*
作为输入,其中将包括输出文件
要解决此问题,您可以从包含的文件中排除输出文件,例如:
<exclude name="${name}.war"/>
或者,您也可以将war文件写入与读取不同的目录结构,例如:
<mkdir dir="${war.output.dir}" />
<war warfile="${war.output.dir}/${name}.war" ...>
我想我在任何“类似zip”的Ant任务(zip、jar…)中发现了“zip文件不能包含自身”问题的另一个原因: 请记住,设置“basedir”属性已经是要包含的第一组文件了!您需要显式排除在此级别创建的zip文件(使用“excludes”属性,或者从Ant1.7开始,使用嵌套的“excludes”元素)
“fileset”嵌套元素是zip任务的另一个“set”。您应该确保zip“自身”也将通过另一个显式排除从集合中排除。依此类推……您的第一个代码片段中缺少一个“=”。