Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
zip文件不能包含自身-Ant生成错误_Ant_Build_Spring Mvc - Fatal编程技术网

zip文件不能包含自身-Ant生成错误

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

在使用Ant builder进行构建时,以下代码的第一行出现错误

<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“自身”也将通过另一个显式排除从集合中排除。依此类推……

您的第一个代码片段中缺少一个“=”。