对于列出的文件,简单的假设您正在使用所有默认值的答案是(请注意 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官方文档。
因此,如果那是简单的答案,那么完整的答案是什么?
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-INFcontext.xml只要您没有,您的中也有相同的东西
Catalina/localhost/myapp.xml(请参阅上一段)。
另外,上述
/Catalina/localhost/文件中路径的一部分实际上来自“默认”
conf/server.xml并与匹配
<Enginename="Catalina"defaultHost="localhost">。如果您在中
server.xml使用
name和
defaultHost,则使用不同的值
<Engine>,这就是Tomcat将查找的dir结构。
最后,对于
...tomcat列出的文件部分,Tomcat使用
$CATALINA_base环境变量中的目录。如果未设置,那么它将使用
$CATALINA_HOME环境变量的目录,该目录是Tomcat安装目录。我喜欢设置和使用,
$CATALINA_base以免“污染”我的Tomcat安装。



