WAR中的文件显示为double

时间:2010-08-03 02:54:59

标签: java eclipse ant war

我正在使用ANT为我的Java Web应用程序构建WAR文件。但是,当我查看WAR文件时,我看到每个文件出现两次(不是文件夹,只是文件)。当我提取WAR文件时没有错误,文件结构看起来是正确的,没有双重文件。如果我然后将提取的文件压缩回ZIP文件,则归档文件几乎是ANT创建的原始WAR文件的一半大小。

我正在使用以下任务来创建我的WAR文件:

<target name="dist" depends="package">          
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}">
        <fileset dir="${tmp.dir}" />
    </war>
</target>

当我检查tmp.dir中的文件结构时,文件看起来似乎没问题。我在Ubuntu 9.10上从Eclipse(Helios)中运行ANT。

1 个答案:

答案 0 :(得分:2)

我发现了导致问题的原因。 <fileset>任务中的<war>标记以某种方式导致文件被添加到存档两次。如果ANT会抛出一个错误,但事实并非如此,这将是一件好事。由于我想将整个tmp.dir添加到我的存档中,因此我应该习惯于:

<target name="dist" depends="package">          
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}">
        <!-- No extra <fileset> -->
    </war>
</target>

如果其他人遇到此问题,我会在此处留下此问题,而不是将其删除。