ant:将子目录中的资源包含到 war 文件

ant: include resources in subdirectory to war file

我想在我的 war 文件中包含一组资源文件。

我知道我可以将 filesetwebinf 指定为 build.xmlwar 元素的内部元素,但在这两种情况下,当我部署了 war 文件,资源文件分别位于顶级目录或 WEB-INF 目录中。

我想将它们放入一个子目录中(例如,WEB-INF/resources)。实际上,这些资源文件已经在我的源三中的一个子目录中,我只需要将这个子目录包含在 war 文件中即可。

这是怎么做到的?

您可以使用 zipfilesetprefix 属性将子目录添加到 zip/war 文件。如果资源文件在src/resource,你想把它们打包到WEB-INF/resource。这是示例:

<target name="build">
    <war destfile="test.war">
        <fileset dir="webapps">
            <include name="**" />
        </fileset>
        <zipfileset dir="src/resource" prefix="WEB-INF/resource" />
    </war>
</target>