Tomcat文档说:
上下文描述符的位置是;
$ CATALINA_HOME/conf/[enginename]/[hostname] /context.xml
$ CATALINA_HOME/webapps/[webappname] /META-INF/context.xml
在我的服务器上,我至少有3个文件浮动:
1 ...tomcat/conf/context.xml 2 ...tomcat/Catalina/localhost/myapp.xml 3 ...tomcat/webapps/myapp/META-INF/context.xml
优先顺序是什么?
对于您列出的文件,假设您使用所有默认值的简单答案,顺序是(注意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.
除了你列出的元素外,还会在其他几个地方寻找元素(参见官方文档).
META-INF/context.xml
如果Tomcat找到了,那将永远不会被打开Catalina/localhost/myapp.xml
.因此,如果你真的拥有上面的所有文件,那么更正确地说它META-INF/context.xml
是无关紧要的,而不是它是最低优先级.
如果你说
在你的意思Catalina/localhost/myapp.xml
中将使它成为最高优先级,无论如何conf/context.xml
.同样的事情META-INF\context.xml
,只要你没有Catalina/localhost/myapp.xml
(见前一段).
此外,/Catalina/localhost/
上面文件中的路径部分实际上是"默认",conf/server.xml
并匹配
.如果你server.xml
在name
和defaultHost
中使用不同的值
,那就是Tomcat看起来的目录结构.
最后,对于...tomcat\
您列出的文件部分,Tomcat使用$CATALINA_BASE
环境变量中的dir .如果没有设置,那么它使用$CATALINA_HOME
环境变量的dir ,它是Tomcat安装的目录.我喜欢设置和使用,$CATALINA_BASE
这样我就不会"污染"我的Tomcat安装.