2016-10-13 2 views
1

Meine Java-Anwendung hat mehr Versionen der externen context.xml, eine für jede Umgebung. Der Plan ist, eine War-Datei zu haben und die richtige context.xml für Produktion, Staging, Entwicklung usw. zu verwenden.Tomcat7 schreibt meine context.xml beim Extrahieren der WAR-Datei neu

Ich kopiere/symlink die context.xml in /usr/local/apache-tomcat-7.0.72/conf/Catalina/localhost/myapp.xml. Dann erstelle ich eine Kriegsdatei aus meinen Quellen und kopiere sie in /usr/local/apache-tomcat-7.0.72/webapps. Die Catalina läuft und explodiert die WAR-Datei im Webapps-Ordner. In der gleichen Zeit löscht es meine myapp.xml aus dem Ordner conf. Aus diesem Grund lädt meine App nicht die richtige Konfiguration und schlägt fehl. Wenn ich die myapp.xml erneut kopiere und Tomcat neu starte, funktioniert es.

Gibt es eine Möglichkeit, Tomcat zu sagen, meine Konf-Datei beim Extrahieren der Kriegsdatei nicht zu löschen? Oder gibt es einen besseren Platz für externe context.xml

+0

Warum? Tomcat kopiert das in META-INF/context.xml in Ihre WAR-Datei. Sie müssen nicht manuell kopieren. – EJP

+0

@EJP context.xml ist nicht Teil des Code-Repository. Der Entwickler hat seine eigenen Anmeldeinformationen für Testzwecke und kennt keine DB-Berechtigungsnachweise. Sobald die War-Datei in das Artefakt hochgeladen wurde, kann sie in verschiedenen Umgebungen mit der richtigen context.xml verwendet werden. – shamanSK

Antwort

Verwandte Themen