2013-03-08 10 views
5

Ich möchte, dass meine App an den Server implementieren, und dann kann ich die App wie diese besuchen:Apache-Tomcat 7.0 entpackt nicht .war?

http://10.10.10.10/index.jsp 

aber nicht

http://10.10.10.10/bar/index.jsp 

so ist dies meine Host-Konfiguration in server.xml:

<Host name="localhost" appBase="webapps" 
      unpackWARs="true" autoDeploy="true"> 
     <Context docBase="/home/foo/bar.war" reloadable="false" path=""/> 
    </Host> 

Aber nachdem ich Kater starten

sh $ CATALINA_HOME/bin/startup.sh

ich diesen Kater gefunden hat, den Krieg Datei in $ CATALINA_HOME/webapps nicht entpacken. dann versuche ich alle Dateien in $ CATALINA_HOME/webapps/ROOT zu löschen, aber das spielt keine Rolle. also gibt es jemanden, der dieses Problem schon einmal durchkreuzt? und wie löst man das Problem?

+1

Vielleicht sollten Sie unpackWARs auf true setzen. –

+1

Siehe http://stackoverflow.com/questions/7276989/howto-set-the-context-path-of-a-web-application-in-tomcat-7-0 – DominikM

+0

@ JoachimRohde Ich habe versucht, dass das Problem besteht zu – MouJian

Antwort

12

Tomcat 7 entpackt keine WAR-Dateien von außerhalb der AppBase des Hosts in die AppBase.

Tomcat 7 wird Ihre Anwendung von der WAR ausführen.

+0

Wissen Sie warum? –

+2

Durch Entwurf. Das Auspacken von WARs von außerhalb der AppBase öffnet alle möglichen heiklen Kantenfälle. Kein Committer hat den Drang verspürt, dieses spezielle Jucken zu kratzen, so dass die Beschränkung bestehen bleibt. –

+0

Aber wird Tomcat es überall auspacken? tmp vielleicht? – Bostone