zip文件不能包含自身 - Ant构建错误

pMa*_*Man 2 ant build spring-mvc

使用Ant构建器构建时,我在以下代码的第一行有错误,

<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>
Run Code Online (Sandbox Code Playgroud)

错误消息是:

"... /WEB-INF/build.xml:67:一个zip文件不能包含它自己"第67行是上面发布的代码片段的第一行.

我是Spring框架的初学者.我正在使用带有springource tooluite的Spring版本3.如何解决这个问题?谢谢.

kro*_*ock 6

您的basedir与发送输出war文件的目录相同.这本身不是问题,问题是你包括*作为输入,将包括输出文件.

要解决此问题,您可以从包含的文件中排除输出文件,例如:

<exclude name="${name}.war"/>
Run Code Online (Sandbox Code Playgroud)

或者您可以将war文件写入与您正在阅读的目录结构不同的目录结构,例如:

<mkdir dir="${war.output.dir}" />
<war warfile="${war.output.dir}/${name}.war" ...>
Run Code Online (Sandbox Code Playgroud)