Standardmäßig benutzt der Tomcat für Contexte den Deployment-Descriptor in der Datei WEB-INF/web.xml.
Das ist für 99,9% der Einsatzzwecke wohl richtig und sinnvoll.
Wenn man in einem Projekt jedoch unterschiedliche Deployment-Descriptoren vorhält (beispielweise um verschiedene Staging-Systeme abzubilden, oder für unterschiedliche Einstellungen einer Applikation für Backend- und Frontend-Modus) muss man vor dem Server-Start immer die “richtige” Datei zur WEB-INF/web.xml umbennen.
In diesen Fällen wäre es praktisch, wenn man Tomcat sagen könnte, die Web-Application aus einem anderen Descriptor-File zu holen.
Ein undokumentiertes Feature des Tomcat erlaubt genau diese Angabe eines alternativen Descriptor-Files:
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="false"
xmlNamespaceAware="false" xmlValidation="false">
<Context docBase="my-application-path" path="" reloadable="false"
altDDName="my-application-path\web\WEB-INF\web-beta.xml"/>
</Host>
</Engine>
Dem Context wrid über das altDDName Attribut der Name des alternative deployment descriptors bekanntgegeben.
Damit wird der Tomcat noch flexibler einsetzbar.
