如何将apache tomcat的server.xml拆分成几个单独的文件?

Ehs*_*hmi 5 tomcat config virtualhost server.xml

我使用apache tomcat 7在一台机器上运行很多虚拟主机,我Host在server.xml中为每个虚拟主机插入一个标签,这样我就可以集中管理它们.
但是现在,在添加了很多主机标签后,server.xml变得如此之大,我正在寻找一种方法将每个虚拟主机相关标签放在一个单独的xml文件中(与apache对httpd.conf和虚拟主机完全相同)管理).例如,我为每个主机创建一个单独的xml文件,并将它们全部放入目录并强制tomcat加载它们!
任何的想法???

Mar*_*mas 11

以下应该可以工作,但不是由于Tomcat错误.我已经修复了trunk(r1333827)和7.0.x(r1333829)中的bug,修复程序将包含在Tomcat 7.0.28之后.我本可以发誓以前这个有用.可能是JVM中的xml解析器在某些时候已经收紧,并且这仍然适用于较旧的JVM版本,但我还没有测试过.

您可以使用XML实体 - 每个主机一个.例如:

<server>元素之前插入以下内容:

<!DOCTYPE server-xml [
  <!ENTITY host1 SYSTEM "host1.txt">
]>
Run Code Online (Sandbox Code Playgroud)

host1.txt的内容是您要定义的主机元素:

<Host>
  ...
</Host>
Run Code Online (Sandbox Code Playgroud)

然后将其插入到<engine>元素内的server.xml中,如下所示:

<engine ...>
  &host1;
</engine>
Run Code Online (Sandbox Code Playgroud)

根据需要重复多个主机.