Как сопоставить несколько контекстов с одним и тем же файлом war в Tomcat?

Я использую tomcat для развертывания моих приложений, я хотел бы развернуть как одну единственную войну на сервер с несколькими контекстными путями.

В настоящее время у меня есть app1.война и app2.war, но оба имеют одинаковое содержимое, только имя отличается для доступа через http:///app1 и http:///app1 - ... война. Но я хотел бы сделать это, развернуть приложение.война и доступ к ней как по контекстному пути app1 и app2. Можно ли это сделать в tomcat? Пожалуйста, помогите мне из этого

1 ответов


это можно сделать несколькими способами. Я думаю, что этот путь самый простой:

  1. переместить файл войны за пределы webapps/ каталог автоматического развертывания
  2. экстракт META-INF/context.xml из вашего файла войны. Если войны не было!--1-- > файл, просто используйте файл только с <Context /> в нем
  3. скопировать этот файл в Tomcat по на <Context> элемент, чтобы указать на файл войны, который вы переместили в шаге #1
  4. перезапустить Tomcat

это должно дать вам один физический файл войны и несколько контекстов, развернутых из него.

хотя Tomcat поддерживает эту конфигурацию, я рекомендую против нее: диск пространство дешево, оно ничего не меняет во время выполнения (вы все равно получаете две копии всего в памяти), и вы теряете гибкость развертывания разных файлов WAR в разных контекстах и/или обновления их отдельно без изменения конфигурации и контекстах.

Если вам нужен мой совет, придерживайтесь дубликатов военных файлов.