Wie definieren Sie den Pfad in META-INF/context.xml für Tomcat
Ich bin mit Tomcat 7 und würde gerne den root-Kontext der war-Datei in die war-Datei selbst und Tomcat autodeploy und abholen auf diesem Weg.
Ich dachte, dass ich den Weg gefunden, es zu tun, indem Sie ein context.xml in der META-INF-Verzeichnis des Krieges enthält.
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/somepath/myapp"/>
Aber das scheint nicht zu funktionieren, ich denke, es ist geladen von http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/SetContextPropertiesRule.html dem es heißt, es lädt auch alles, aber der Weg!
Ich weiß, ich kann Namen dem Krieg somepath#myapp.Krieg und es wird ihn abholen, aber ich auch bereitstellen unter weblogic, das ist gar nicht glücklich mit diesem Namen.
Gibt es einige Einstellungen, die ich verwenden kann, um den Pfad der Arbeit aus der context.xml oben?
Dank
David
InformationsquelleAutor David Kerwick | 2012-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rahmen
path
Attribut wird ignoriert, wenn der Pfad angegeben ist, in eine hart-codierteContext
imserver.xml
stark entmutigt, und nicht multilevel-Pfade.Den Namen der war-Datei, oder den Namen des Context-xml-Datei in
tomcat/conf/Catalina/hostname
wird diepath
der bereitgestellten Anwendung.In Ihrem Fall, das letztere der beiden oben genannten ist die Lösung, so stellen Sie sicher, Sie setzen die
.war
Datei außerhalb der ausgewiesenenappBase
für den Gastgeber, oder Sie werden die Bereitstellung der app zweimal.In:
conf/Catalina/localhost/myapp#path.xml
Es ist nicht dumm. Sie können nicht verwenden Sie die / (oder vielleicht ) Zeichen in einem Dateinamen, aus offensichtlichen Gründen. Das path-Attribut entfernt werden sollte, IMO. Es verwirrt die Leute zu viel.
Ich habe nichts gegen hashes, ich finde es schlimm, dass ich ' m gezwungen, um zu bestimmen, die Kontext-Pfad über den Namen der Datei, anstatt die Parameter Weg und docBase. Zum Beispiel, auf diese Weise in der Praxis kann ich nicht bereitstellen eine Datei mit dem Namen " myapp-v1.2.3 beta.Krieg. OK, ich könnte einen alias einzurichten, aber der andere Weg wäre besser.
Sicher, Sie können: myapp##v1.2.3 beta.Krieg /myapp
Ich Stimme mit dir überein @zakmck, dass es eine schlechte Idee der Kontext-Pfad, der bestimmt, indem die war-Datei-Namen, statt des Attributs "path" in META-INF/context.xml Datei. Es ist verwirrend und hat mich viel Zeit zu finden Tomcat-Dokumentation diese Aussage: "das Attribut (Weg) darf nur verwendet werden, wenn statisch definieren einen Kontext, in server.xml ..."
InformationsquelleAutor Pidster
hinzufügen copyXML="true" " Host-config in $TOMCAT_HOME/conf/server.xml wie
InformationsquelleAutor user3138601
/Tomcat7/conf/server.xml fügen Sie folgenden Zeilen in das element und starten Sie Tomcat neu, um die änderungen stattfinden.
*ändern von "mycom", um Ihre Anwendung name.
Damit wird die default-root-Anwendung erscheinen unter context-root "/ROOT".
Nun Ihre app ist zugänglich unter "/" und "/mycom" wie gut!
InformationsquelleAutor user3774340
Wenn Sie laden Sie Ihre Anwendung.Krieg in ein Verzeichnis Tomcat ist sich nicht bewusst, wie kann es irgendetwas Lesen, was in Ihr war-Datei? Der richtige Ort, um diese Informationen hinzuzufügen, ist in $TOMCAT_HOME/conf/context.xml - dies ist ein Teil von Tomcat und Tomcat kann diese Datei Lesen und finden Sie heraus, wo Ihre Anwendung und installieren Sie es. Es gibt noch mehr zu wie einrichten von JNDI in Tomcat
InformationsquelleAutor Chris Malan