Для файлов, которые вы перечислили, простой ответ при условии, что вы используете все значения по умолчанию, в следующем порядке (обратите внимание на conf / Catalina / localhost):
...tomcat/conf/context.xml
...tomcat/conf/Catalina/localhost/myapp.xml
...tomcat/webapps/myapp/META-INF/context.xml
Я основываю это (и последующее обсуждение) на официальной документации Tomcat 5.5 для Context Container .
Итак, если это простой ответ, каков полный ответ?
Tomcat 5.5. в нескольких других местах будет искать элементы <Context>
помимо тех, которые вы перечислили (см. официальные документы).
META-INF/context.xml
никогда не откроется, если Tomcat найдет Catalina/localhost/myapp.xml
. Поэтому, если у вас есть все файлы, указанные выше, правильнее будет сказать, что META-INF/context.xml
не имеет значения , а не то, что это самый низкий приоритет.
Если вы скажете <Context override="true" ...>
в вашем Catalina/localhost/myapp.xml
, это сделает его наивысшим приоритетом, независимо от conf/context.xml
. То же самое в вашем META-INF\context.xml
, если у вас нет Catalina/localhost/myapp.xml
(см. Предыдущий абзац).
Кроме того, /Catalina/localhost/
часть пути в вышеуказанных файлах на самом деле выходит из значения по умолчанию conf/server.xml
и соответствует <Engine name="Catalina" defaultHost="localhost">
. Если ваш server.xml
использует разные значения для name
и defaultHost
в <Engine>
, то это структура dir, где будет искать Tomcat.
Наконец, для части ...tomcat\
файлов, которые вы перечислили, Tomcat использует dir из переменной окружения $CATALINA_BASE
. Если он не установлен, то он использует каталог dir из переменной среды $CATALINA_HOME
, которая является каталогом установки Tomcat. Мне нравится устанавливать и использовать $CATALINA_BASE
, чтобы не "загрязнять" мою установку Tomcat.