将context.xml部署到webapps / [webappname] / META-INF

时间:2010-11-30 12:10:23

标签: tomcat ant build.xml

我正在使用Tomcat 6.0.26并且正在编写build.xml来部署war文件。下面的代码就是我现在所拥有的,我需要在/ META-INF /下打包context.xml,因为我希望有this configuration like #2。我搜索了war命令的属性,但我找不到像WEB-INF / web.xml的 webxml 那样的东西。

所以我的问题是,

1)是否有一个war属性将context.xml放在META-INF?

2)如果没有这样的属性,那么在每个webapp的META-INF下放置context.xml的最佳方法是什么?

<target name="packwar">
   <war destfile="${appname}.war" webxml="web.xml">
        <lib file="${bin}/myapp.jar"/>
   </war>
</target>

提前谢谢。

1 个答案:

答案 0 :(得分:5)

您应该能够使用'war'任务的metainf嵌套元素:

  

嵌套的metainf元素指定了一个   文件集。包含在此中的所有文件   fileset最终会出现在META-INF中   战争文件的目录。如果这   fileset包含一个名为的文件   MANIFEST.MF,文件被忽略了   你会收到警告。

这样的事情:

<target name="packwar">
   <war destfile="${appname}.war" webxml="web.xml">
        <lib file="${bin}/myapp.jar"/>
        <metainf file="context.xml" />
   </war>
</target>

有一个类似的选项 - “webinf” - 用于部署到WEB-INF目录。