2013-03-08 11 views
5

Voglio schierare la mia app al server, e quindi posso visitare l'applicazione in questo modo:apache-tomcat 7.0 non scompatta .war?

http://10.10.10.10/index.jsp 

ma non

http://10.10.10.10/bar/index.jsp 

quindi questa è la mia configurazione host in server.xml:

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

Ma, dopo avvio in su Tomcat

sh $ CATALINA_HOME/bin/startup.sh

ho scoperto che Tomcat non decomprimere il file guerra in $ CATALINA_HOME/webapps. quindi provo a cancellare tutti i file in $ CATALINA_HOME/webapps/ROOT, ma non importa. quindi c'è qualcuno che ha già attraversato questo problema? e come risolvere il problema?

+1

Forse dovresti impostare unpackWARs su true. –

+1

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

+0

@JoachimRohde Ho provato che, il problema esiste anche – MouJian

risposta

12

Tomcat 7 non decomprime i file WAR dall'esterno dell'app appBase nell'appBase.

Tomcat 7 eseguirà l'applicazione da WAR.

+0

Sai perché? –

+2

In base alla progettazione. Disimballare WAR dall'esterno dell'appBase apre tutti i tipi di casi complicati. Nessun committer ha sentito il bisogno di grattare quel particolare prurito così la restrizione rimane. –

+0

Ma tomcat lo scompatterà da qualche parte? forse tmp? – Bostone