Para los archivos que enumeró, la respuesta simple asumiendo que usted está utilizando todos los valores predeterminados, la orden es (tenga en cuenta la conf/Catalina/localhost):
...tomcat/conf/context.xml
...tomcat/conf/Catalina/localhost/myapp.xml
...tomcat/webapps/myapp/META-INF/context.xml
estoy basando esto (y la siguiente discusión) en el Tomcat 5.5 official documentation for the Context Container.
Entonces, si esa es la respuesta simple, ¿cuál es la respuesta completa?
Tomcat 5.5. se verá en un par de otros lugares para <Context>
elementos más allá de los que ha enumerado (consulte los documentos oficiales).
El META-INF/context.xml
nunca se abrirá si Tomcat encuentra un Catalina/localhost/myapp.xml
. Entonces, si realmente tiene todos los archivos anteriores, es más correcto decir que el META-INF/context.xml
es irrelevante, no es que sea la prioridad más baja.
Si dice <Context override="true" ...>
en su Catalina/localhost/myapp.xml
que hará que sea la prioridad más alta , independientemente de conf/context.xml
.Lo mismo en su META-INF\context.xml
, siempre que no tenga un Catalina/localhost/myapp.xml
(consulte el párrafo anterior).
Además, la parte /Catalina/localhost/
de la ruta en los archivos anteriores en realidad proviene del "predeterminado" conf/server.xml
y coincide con el <Engine name="Catalina" defaultHost="localhost">
. Si su server.xml
utiliza valores diferentes para name
y defaultHost
en el <Engine>
, esa es la estructura de directorios donde se verá Tomcat.
Finalmente, para la parte ...tomcat\
de los archivos que enumeró, Tomcat usa el directorio de la variable de entorno $CATALINA_BASE
. Si eso no está establecido, utiliza el directorio de la variable de entorno $CATALINA_HOME
, que es el directorio de la instalación de Tomcat. Me gusta configurar y usar $CATALINA_BASE
para que no "contamine" mi instalación de Tomcat.
Guau, una respuesta muy detallada e impresionante. Gracias. – Ittai