Tomcat estrae sempre il contenuto di un file di guerra, in una cartella con lo stesso nome (quando è configurato per distribuire guerre - come predefinito, ecc.).
È possibile estrarlo in un nome di cartella a scelta. Pertanto, se si decomprime manualmente il contenuto di foo.war
in una cartella denominata bar/
, anziché caricare semplicemente la guerra nella cartella delle app Web, verrà comunque caricata l'applicazione Web.
Tuttavia, questo è del tutto inutile, come è possibile specificare il modello URL dell'applicazione senza fare confusione con il nome del file della cartella/guerra a tutti sovrascrivendo l'elemento root di contesto per la vostra applicazione:
Questo è spesso situato in il Tomcat server.xml
- ma questa pratica è abbastanza scoraggiata. Invece, io suggerirei di usare context.xml
nella cartella META-INF dell'applicazione web/file di guerra:
<Context path="/bar" .../>
Quando l'applicazione viene distribuita, il context.xml
dovrebbero essere copiati /conf/Catalina/localhost
ma rinominato per
Si noti che le radici di conext devono essere univoche e ci sono alcune considerazioni aggiuntive se si utilizzano le operazioni autoDeploy
o deployOnStartup
(origine http://tomcat.apache.org/tomcat-7.0-doc/config/context.html).
Altre opzioni includono:
- Pulire le applicazioni del web cartella ogni distribuzione e rilasciare i nuovi
foo-1.1.0
guerra in
- includono il numero di versione in un file flat..
foo/version1
- O semplicemente includere la versione in un file config/XML.
È inoltre possibile utilizzare Ant (o uno strumento equivalente) per automatizzare le distribuzioni (ed eseguire una delle operazioni precedenti).
Possibile duplicato di [Separazione del nome dell'applicazione di guerra dal nome del file di guerra] (http://stackoverflow.com/questions/5875413/separating-war-application-name-from-war-file-name) – OhadR