para descargar java tomcat configuration settings context.xml

java - descargar - tomcat 8.5 23



¿Qué archivo de contexto de Tomcat 5 tiene prioridad? (3)

La documentación de Tomcat dice:

Las ubicaciones para los descriptores de contexto son;

$ CATALINA_HOME / conf / [enginename] / [hostname] /context.xml
$ CATALINA_HOME / webapps / [webappname] /META-INF/context.xml

En mi servidor, tengo al menos 3 archivos flotando:

1 ...tomcat/conf/context.xml 2 ...tomcat/Catalina/localhost/myapp.xml 3 ...tomcat/webapps/myapp/META-INF/context.xml

¿Cuál es el orden de precedencia?


Mi entendimiento es:

  • tomcat / conf / context.xml es el contexto.xml "predeterminado" cuyos contenidos están superpuestos con las definiciones del contexto de la aplicación web. El contexto context.xml predeterminado de mi TC 5 no contiene casi nada, aparte de enumerar el web.xml como recurso supervisado, lo que respalda esta noción.
  • tomcat / Catalina //. xml se usa para la aplicación web. O bien se coloca aquí de forma manual, o se toma de su aplicación web en el momento del despliegue ... por lo que este es el verdadero maestro que utiliza TC. Si edita, los cambios se leerán el próximo inicio.
  • tomcat / webapps / myapp / META-INF / context.xml - esto se copia a tomcat / Catalina / en la implementación inicial si altera esto después de la implementación inicial, no creo que tenga ningún efecto

No he encontrado ninguna documentación oficial, pero he observado que el orden de carga es:

1 tomcat_home/conf/context.xml 2 tomcat_home/webapps/myapp/META-INF/context.xml

Donde # 2 es el último aplicado (por lo que su configuración anula todas las anteriores, donde corresponda).

Nunca he usado los archivos de contexto llamados webapp (su opción n. ° 2).


Para los archivos que enumeró, la respuesta simple suponiendo que está utilizando todos los valores predeterminados, el orden es (tenga en cuenta el 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 discusión siguiente) en la documentación oficial de Tomcat 5.5 para Context Conteiner .

Entonces, si esa es la respuesta simple, ¿cuál es la respuesta completa?

Tomcat 5.5. buscará en un par de otros lugares elementos de <Context> más allá de los que ha enumerado (consulte los documentos oficiales).

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 tenga la precedencia más baja.

Si dices <Context override="true" ...> en tu Catalina/localhost/myapp.xml que será la mayor prioridad, 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 porción /Catalina/localhost/ de la ruta en los archivos anteriores en realidad proviene del conf/server.xml "predeterminado" y coincide con el <Engine name="Catalina" defaultHost="localhost"> . Si su server.xml usa diferentes valores para name y defaultHost en <Engine> , esa es la estructura de directorios donde se verá Tomcat.

Finalmente, para la ...tomcat/ parte de 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.