web-dev-qa-db-fra.com

Contexte de mappage Tomcat via server.xml

J'ai créé une guerre et je l'ai déployée dans mon dossier $ CATALINA_HOME/webapps. Ensuite, j'ai voulu tester sa configuration pour qu'elle pointe vers une guerre située à un emplacement quelconque, tel que c:\tmp\mywar.war. Voici ce que j'ai mis dans le fichier server.xml dans $ CATALINA_HOME/conf.

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/blah" docBase="h:/tmp/mywar.war" reloadable="true" />
</Host>

Tomcat renvoie 404 lorsque j'essaie de charger localhost: 8080/blah. Si je pointe plutôt docBase vers la guerre éclatée, cela fonctionne très bien. Qu'est-ce que j'oublie ici?

10
static-fading

Si vous souhaitez qu'un site soit disponible à http://myhost:8080/myTestContext, inscrivez ce qui suit dans $Catalina_home$/conf/localhost/whateveryoulike.xml

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <Context deployOnStartup="true" docBase="C:\path\to\your\docBase\" path="/myTestContext" reloadable="false">
    <Manager pathname=""/>
</Context>
5
JoSSte

Vous feriez mieux de placer la configuration du contexte dans un fichier individuel à l’adresse /META-INF/context.xml, à l’intérieur des fichiers de l’application. 

Il n'est PAS recommandé de placer des éléments directement dans le fichier server.xml. En effet, la modification de la configuration du contexte est plus invasive, car le fichier principal conf/server.xml ne peut pas être rechargé sans redémarrer Tomcat.

Vous pouvez consulter plus de détails dans le document Tomcat7 ici: http://Tomcat.Apache.org/Tomcat-7.0-doc/config/context.html#Defining_a_context

4
Jacky

Je viens de rencontrer ce problème. Légèrement embarrassant c'était parce que je me suis trompé de chemin!

Vous pouvez le vérifier en consultant les journaux (erreurs standard) sous 

[Répertoire d'installation de Tomcat]/logs

Vous verrez quelque chose qui ressemble à ceci:

Jun 16, 2014 12:34:10 PM org.Apache.catalina.core.StandardContext resourcesStart SEVERE: Error starting static Resources Java.lang.IllegalArgumentException: Document base ... does not exist or is not a readable directory

Une autre remarque (vous ne recevrez pas de message d'erreur à ce sujet) est que si vous déployez une guerre plutôt qu'une application Web éclatée, vous devez spécifier le chemin du fichier et et pas seulement le répertoire contenant

0
JonnyRaa

Ne faites pas cela, cette approche est découragée de Tomcat 6:

Pour Tomcat 6, contrairement à Tomcat 4.x, il n'est PAS recommandé de placer des éléments directement dans le fichier server.xml. En effet, la modification de la configuration du contexte est plus invasive, car le fichier principal conf/server.xml ne peut pas être rechargé sans redémarrer Tomcat.

0
Michael-O