2010-11-30 64 views
3

我正在使用Tomcat 6.0.26並且正在編寫build.xml來部署war文件。下面的代碼就是我現在所需要的,並且我需要在/ META-INF /下包裝context.xml,因爲我希望有this configuration like #2。我已經搜索了war命令的屬性,但是我找不到任何與WEB-INF/web.xml中的webxml一樣的東西。將context.xml部署到webapps/[webappname]/META-INF

所以我的問題是,

1)是否有戰爭屬性將在META-INF的是context.xml?

2)如果沒有這樣的屬性,將META-INF下的context.xml放在每個webapp上的最佳方式是什麼?

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

在此先感謝您。

回答

5

您應該能夠使用「戰爭」任務的metainf嵌套元素:

嵌套metainf元素指定 文件集。包含在此 文件集中的所有文件將最終位於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> 

有一個類似的選項 - 'WEB-INF' - 部署到WEB-INF目錄下。