Frage

Ich habe einige Probleme meine Anwendung bereitstellen.

. Umgebung: Ubuntu 10.04, Tomcat 7,02 (Install aus dem Archiv von tomcat Website, nicht von Repositories), Server ausgeführt wird und stoped manualy, keine IDE mit

Zum ersten habe ich Gastgeber in $CATALINA_HOME/conf/server.xml erstellt:

<Host name="java.dev"  
      appBase="/home/krasilich/java/"  
      autoDeploy="true" >  
    <Alias>www.java.dev</Alias>  
</Host>

Dann einen Kontext, in $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml erstellen:

<Context docBase="siloc/web/" />

Und bekommen den Fehler

  

A docBase / home / krasilich / java / SILOC / web / innerhalb des Host-appBase festgelegt wurde, und wird ignoriert

Aber wenn ich manager.xml zu $CATALINA_HOME/conf/Catalina/java.dev/ kopieren kann ich Manager App laufen. Wenn ich meine Anwendung durch Manager einsetzen - es sagt, dass alles gut geht, aber ich habe noch die 404 auf java.dev:8080/siloc /

siehe

Das ist alles über benutzerdefinierte Host.

Ich habe auch auf localhost durch Manager zu implementierende Anwendung ausprobiert und es funktioniert, kann ich mein „Hallo Wort“ auf localhost sehen: 8080 / SILOC /

Aber, wenn ich den Text in meiner index.jsp ändern werde es nicht am Frontend betroffen. Die „Umschichtung von“ Taste ist keine Hilfe für mich.

Wie ich bereits erwähnte Manager kopieren Sie einfach Anwendungsdateien in webapps Verzeichnis, und stellen Sie keine Änderungen in Konfigurationsdateien.

Alles was ich brauche, dass ich die Anwendung in einem beliebigen Verzeichnis in meinem Dateisystem bereitstellen kann (tatsächlich wird es /home/krasilich/java/).

Und es wäre toll, wenn ich dies wie java.dev auf benutzerdefinierte Host tun kann Ich brauche die Antwort, warum der Kontext, in $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml nicht für mich funktioniert, und was soll ich tun, damit es konsistent machen?

Danke.

War es hilfreich?

Lösung

ich in der Lage gewesen, Ihr Problem zu replizieren.

Es gibt 2 Umgehung kann ich vorschlagen, nachdem sie mit Kombinationen von appBase und docBase tüftelte. Sieht aus wie die beiden arbeiten nicht zusammen.

Option 1 - Entfernen appBase

Nehmen Sie die appBase von server.xml und geben Sie den vollständigen Pfad zum Web-App in docBase im $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

Ich nehme an, Ihr Wert /home/krasilich/java/siloc/web/siloc sein wird.

Hinweis: nur bis zu den übergeordneten Ordner /home/krasilich/java/siloc/web/ Angabe zeigt Ihnen ein Verzeichnis der übergeordneten Auflistung Ordner

Option 2 - Remove docBase

In $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

entfernen Sie die docBase und halten nur <Context/>

Tomcat folgert die Webapp Namen siloc vom $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml und es sieht für die Webapp namens siloc im appBase.

Dies ermöglicht java.dev:8080/siloc/ zu arbeiten, sofern Sie auch die appBase in server.xml zu den übergeordneten Ordner Ihrer Webapp siloc ändern.

Als Antwort auf warum manager Werke, aus demselben Grund - es gibt keine docBase im manager.xml

Ich versuche, andere Kombinationen von docBase aber jeder Wert Ich gebe führt die

  

ACHTUNG: Ein docBase ... innerhalb des Host-appBase festgelegt wurde, und wird ignoriert

So ist mein Fazit der docBase zu entfernen. Dies ist keine gute Idee -. Da der vollständige Pfad zum übergeordneten Ordner dann in server.xml fest einprogrammiert ist

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top