2009-07-20 4 views
7

Voglio avviare Tomcat 6 con una configurazione speciale a volte, non utilizzando il "server.xml". Così ho creato un altro file xml chiamato server_test.xml. Ora voglio dire a Tomcat di usare questa configurazione. Come è fatto?Come avviare Tomcat con un server.xml specifico sotto Windows?

Non ho trovato quasi nulla a cercare sul Web. Solo questo: "Usa diverso file server.xml nella configurazione di Tomcat: ./tomcat.sh start -f /var/tmp/server-${USER}.xml"

Questo è esattamente quello che voglio. Forse questo funziona per i sistemi Linux ma non per Windows. Qualche idea là fuori?

risposta

0

Non sembra che ci sia un'opzione (documentata) che puoi passare a startup.sh o catalina.sh per cambiarlo.

Forse è possibile impostare server.xml come collegamento simbolico al file che si desidera effettivamente utilizzare e modificare semplicemente il collegamento simbolico prima di avviare il server quando si desidera modificarlo?

Altrimenti si può giocare con diversi valori di $CATALINA_HOME ma ciò richiederebbe di duplicare l'intera struttura di directory.

0

tomcat.sh non esiste da 3.xe, a dire il vero, non ricordo di avere l'opzione '-f' allora.

Hai due scelte qui:

A) È possibile impostare più istanze Tomcat come descritto here e passare da uno all'altro puntando CATALINA_BASE a quello che si desidera.

B) È possibile creare più server.xml file denominati in modo diverso (ad esempio server-1.xml, server-2.xml, ecc ...) e scrivere un semplice script batch che copia quello specificato come argomento riga di comando per l'attuale server.xml e quindi avviare Tomcat .

13

Ce l'ho. Mi sono preso la mezza notte, ma funziona :)

All'inizio ho pensato anche ai link simbolici, ma sotto Windows non è una cosa che vorresti usare. Il mio secondo pensiero è stato modificare catalina.bat, ma non è così facile. E il diverso CATALINA_HOME non è quello che voglio veramente.

Quindi cosa ho fatto? Ho fornito lo server.xml come parametro a catalina.bat.

catalina.bat start -config \conf\server_test.xml 

Nizza e facile :)

Si può avere un sacco di file di configurazione del server e di fornire quello che vi serve per l'inizio e arrestare script. La cosa difficile era che la classe Catalina fornisce le informazioni uso errato:

usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { start | stop } 

Ma se scambiate i parametri e prima di fornire "iniziare" o "fermata" e poi il "-config. .. argomento "", tutto funziona.

Anche molto bello è che è possibile utilizzare questa soluzione per creare una configurazione di esecuzione diversa in IntelliJ IDEA.Ne ho uno in cui Tomcat si connette a un database locale e uno si connette a un database di sviluppo. Per ognuno ho un diverso server.xml.

Spero che questo aiuti.

Cordiali saluti, Sebastian