【问题标题】:Using ant war task to include files in WEB-INF directory使用ant war任务包含WEB-INF目录中的文件
【发布时间】:2011-06-19 21:50:22
【问题描述】:

我正在使用 ant 构建我的网络应用程序。我确定这很简单,但我不知道如何告诉 ant 在 WEB-INF 目录中创建特定文件夹并将文件复制到其中。

我的蚂蚁战任务是这样的:

<target name="warItUp" depends="compile">
    <war destfile="MyApp.war" webxml="${home.dir}\WEB-INF\web.xml">

        <classes dir="${classes.dir}"/>
        <classes file="${src.dir}/hibernate.cfg.xml"/>
        <classes dir="${src.dir}" includes="**/*.hbm.xml"/>

        <!-- Include the PDF files -->
        <fileset dir="${home.dir}/PDFs">
            <include name="**/*.pdf"/>
        </fileset>

        <!-- Include the JSP files -->
        <fileset dir="${home.dir}/JSPs">
            <include name="**/*.jsp"/>
        </fileset>

        <!-- Include the images -->
        <fileset dir="${home.dir}/images">
            <include name="**/*"/>
        </fileset>          
    </war>

所有文件集元素都有效,即它们包括 pdf、jsp 和图像文件在 war 文件的根目录中。

但是如果我想在war文件的WEB-INF目录中创建一个子目录并在其中包含文件,我该如何指定呢?例如假设我想在 war 文件中包含 WEB-INF/TagLibraryDescriptors/MyTagLib.tld,或者如果我想在我的 war 文件中创建一个 WEB-INF/JSP 文件夹并将所有 JSP 文件复制到其中。

谢谢。

【问题讨论】:

  • 自己找到了解决方案,请参阅下面的答案。很抱歉浪费了大家的时间。

标签: java hibernate jakarta-ee ant war


【解决方案1】:

作为嵌套webinf 元素的替代方案,您还可以使用zipfileset 元素,它可以让您在存档中指定源文件夹和路径前缀:

<zipfileset dir="${home.dir}/JSPs" includes="**/*.jsp" prefix="WEB-INF/JSPs"/>

【讨论】:

    【解决方案2】:

    在这里,感谢您的所有回复。我找到了另一个解决方案——战争任务中可以包含一个 webinf 元素。

    这会将文件从源 JSPs 文件夹复制到 war 文件中的 WEB-INF 文件夹中:

    <webinf dir="${home.dir}/JSPs" 
    includes="**/*.jsp">
    </webinf>
    

    而这会将文件从源 JSPs 文件夹复制到 WEB-INF/JSPs 文件夹(我的首选):

    <webinf dir="${home.dir}" 
    includes="/JSPs/**/*.jsp">
    </webinf>
    

    我想我会坚持这个解决方案,但感谢您的回复。

    【讨论】:

      【解决方案3】:

      为什么不用mkdir 方式创建你需要的目录结构呢?

      【讨论】:

        【解决方案4】:

        尝试将此目录创建到您的项目中,然后添加文件集,如下所示:

        <fileset dir="${home.dir}/WEB-INF/mydirectory/*">
                    <include name="**/*"/>
        </fileset>          
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-02-21
          • 2021-11-28
          • 1970-01-01
          • 2016-08-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多