对于您列出的文件,假设您使用所有默认值,简单的答案是(注意conf /Catalina/localhost):
...tomcat/conf/context.xml
...tomcat/conf/Catalina/localhost/myapp.xml
...tomcat/webapps/myapp/META-INF/context.xml
我将此(以及以下讨论)基于Context Container的Tomcat 5.5 官方文档。
因此,如果这是简单的答案,那么完整的答案是什么?
雄猫 5.5。将在其他几个地方查找<Context>
您列出的元素之外的元素(请参阅官方文档)。
如果META-INF/context.xml
Tomcat 发现Catalina/localhost/myapp.xml
. 因此,如果您实际上拥有上述所有文件,更正确的说法是 the META-INF/context.xml
is无关紧要,而不是它是最低优先级。
如果你<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
使用不同的值,那将是 Tomcat 的目录结构。name
defaultHost
<Engine>
最后,对于...tomcat\
您列出的部分文件,Tomcat 使用$CATALINA_BASE
环境变量中的目录。如果未设置,则它使用$CATALINA_HOME
环境变量中的 dir,即 Tomcat 安装的目录。我喜欢设置和使用$CATALINA_BASE
,这样我就不会“污染”我的 Tomcat 安装。