Für die Dateien aufgelistet, die einfache Antwort vorausgesetzt, Sie alle Standardeinstellungen verwenden, wird der Auftrag (man beachte die conf/Catalina/localhost):
...tomcat/conf/context.xml
...tomcat/conf/Catalina/localhost/myapp.xml
...tomcat/webapps/myapp/META-INF/context.xml
ich diese stützen (und die folgende Diskussion) über die Tomcat 5.5 official documentation for the Context Container.
Also wenn das die einfache Antwort ist, was ist die vollständige Antwort?
Tomcat 5.5. wird in ein paar anderen Orten nach <Context>
Elementen suchen, die über die von Ihnen aufgelisteten hinausgehen (siehe die offiziellen Dokumente).
Die META-INF/context.xml
wird nie geöffnet, wenn Tomcat eine Catalina/localhost/myapp.xml
findet. Also, wenn Sie tatsächlich alle oben genannten Dateien haben, ist es richtig zu sagen, dass die META-INF/context.xml
ist irrelevant, nicht, dass es die niedrigste Priorität ist.
Wenn Sie <Context override="true" ...>
in Ihrem Catalina/localhost/myapp.xml
sagen, dass es den höchsten Vorrang machen, unabhängig davon, conf/context.xml
.Das Gleiche gilt für Ihre META-INF\context.xml
, solange Sie keine Catalina/localhost/myapp.xml
haben (siehe vorherigen Absatz).
Auch der /Catalina/localhost/
Teil des Pfades in den Dateien oben kommt tatsächlich aus der "Standard" conf/server.xml
und entspricht der <Engine name="Catalina" defaultHost="localhost">
. Wenn server.xml
unterschiedliche Werte für name
und defaultHost
in <Engine>
verwendet, ist dies die Verzeichnisstruktur, in der Tomcat aussehen wird.
Schließlich verwendet Tomcat für den ...tomcat\
-Teil der Dateien, die Sie aufgelistet haben, das Verzeichnis aus der Umgebungsvariablen $CATALINA_BASE
. Wenn das nicht festgelegt ist, verwendet es das Verzeichnis aus der $CATALINA_HOME
Umgebungsvariable, die das Verzeichnis der Tomcat-Installation ist. Ich setze und verwende gerne $CATALINA_BASE
, damit ich meine Tomcat-Installation nicht "verschmutze".
Wow, eine sehr detaillierte und beeindruckende Antwort. Vielen Dank. – Ittai