3

我正在使用 Tomcat 6.0.26 并正在编写 build.xml 来部署战争文件。以下代码是我现在所拥有的,我需要将 context.xml 打包到 /META-INF/ 下,因为我希望拥有像 #2 这样的配置。我已经搜索了 war 命令的属性,但我找不到任何像WEB-INF/web.xml 的webxml一样工作的东西。

所以我的问题是,

1)是否有战争属性将 context.xml 放在 META-INF 下?

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

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

先感谢您。

4

1 回答 1

5

您应该能够使用metainf“战争”任务的嵌套元素:

嵌套的 metainf 元素指定了一个 FileSet。此文件集中包含的所有文件最终都将位于 war 文件的 META-INF 目录中。如果此文件集包含名为 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 目录。

于 2010-11-30T12:23:40.907 回答