Mon application sur un lecteur distant [Tomcat] - Java - Programmation
Marsh Posté le 13-05-2005 à 15:09:48
Je crois que tu dois décrire un Context à l'intérieur du host et ne pas changer les attribut de l'élément Host.
Marsh Posté le 13-05-2005 à 15:57:15
merci pour ta réponse ^^
Alors j'ai trouvé en bas une ligne avec, oh miracle, ca parle de mon applic, je l'ai modifié et je me retrouve donc avec ça :
Marsh Posté le 13-05-2005 à 15:59:15
oups
Citation : <Context path="/mon_app" reloadable="true" docBase="J:\mon_app" workDir="J:\mon_app\work" /> |
Mais j'ai une erreur :
Citation : The page cannot be displayed |
Bizarre... C'est le bon chemin, j'ai fait un copier/coller... Pourquoi ?
Marsh Posté le 13-05-2005 à 20:45:39
http://jakarta.apache.org/tomcat/t [...] index.html
Pour les chemins, je pense qu'il faut mettre des slashes '/', et non des backslashes '\'
Marsh Posté le 13-05-2005 à 22:39:43
merci pour le lien j'avai un peu fouillé le site, mais j'été pas tomber là dessus...
pour les histoire de slash, normalement sous windows on utilise des "\" et non pas de "/", de plus, je pense ke l'adresse qui été avant été en "\", m'enfin, j'essayerai quand meme lundi.
merci pour ton aide
Marsh Posté le 16-05-2005 à 08:26:14
Cherrytree : Bon alors j'ai essayer ton truc de modifier la balise context, mais ca ne marche pas.
Quand il est sur le C:\ (local) il n'y a aucun problème et quand il est sur le J:\ (distant) il ne répond que la page ne peut pas être affichée.
Pour moi il doit y avoir un autre balise à modifier. Mais lequelle ?
Et apparement, on peut mettre des "/" et des "\" ca ne pose aucun problème (les deux marche quand je le met en local).
Marsh Posté le 16-05-2005 à 09:34:57
ReplyMarsh Posté le 16-05-2005 à 09:55:35
Merci pour ton aide, peut-être que quelqu'un d'autre aura une réponse.
Marsh Posté le 16-05-2005 à 13:40:04
T'as essayé en modifiant le Host ? En créant, par exemple, un répertoire webapps sur le lecteur distant.
Regarde aussi les fichiers de log.
Marsh Posté le 16-05-2005 à 14:34:10
alors j'ai essayé le host, je me retrouve avec ca :
<Host name="dept"
debug="0"
appBase="webapps"
unpackWARs="true"
autoDeploy="true"
xmlValidation="false"
xmlNamespaceAware="false">
<Context path="/mon_app"
reloadable="true"
docBase="J:\webapps\mon_app"
workDir="J:\webapps\mon_app\work" />
J'ai ajouté toutes les applique du dossier "webapps" du lecteur local au lecteur distant.
"dept" c'est le nom du lecteur distant, faudrait que j'essaye avec son ip carrement vu que avant c'été marqué "localhost". Mais, j'me suis dit qu'à ce moment là faudrait peut-être plutôt que je marque http://dept:8080/mon_app (mais ca renvoi sur un site web... ).
Afin bref, avec http://localhost:8080/mon_app je me retrouve avec une page blanche. j'ai plus l'adim ni le manager
Pour les log, qu'est-ce que je dois chercher précisément ?
Est-ce que avec l'ip du serveur (du lecteur distant), ca fonctionnerait ?
Autre chose, où on modifie la variable $CATALINA_BASE ?
Marsh Posté le 16-05-2005 à 20:14:07
Ce que je te propose d'essayer c'est :
- Créer un répertoire sur le lecteur réseau, par exemple J:\webapps
- Modifier le fichier server.xml avec :
Citation : |
L'attribut name correspond au nom réseau du serveur, et n'a rien à voir avec le lecteur distant.
Cela aura pour incidence que toutes les webapps devront être placées sur le lecteur distant. Ton serveur sert-il plusieurs webapps ?
Si tu veux qu'il en soit différemment, il faut modifier la balise Context, ou alors créer un 2e hôte virtuel.
Concernant la balise Context, il est écrit :
Citation : |
Pour les fichiers de log, tu peux regarder en premier lieu les fichiers stderr.log et stdout.log.
Marsh Posté le 17-05-2005 à 09:00:51
Oki, j'ai fait tout ça mais ça n'a rien changé.
Au passage, j'ai déplacé toutes les applications de webapps qui été en local et je les ai mise directement sur le lecteur distant. Donc, j'ai l'admin et le manager dessus.
Je m'explique : j'ai donc modifié la balise host comme tu le disais avec mon dossier contenant mes webapps. J'ai redémarré le serveur, et lorsque j'essayer de voir l'acceuil de tomcat ou le manager, j'avais une page blanche. Alors que pour mon application, j'avais une page me disant erreur 404 : Page non trouvée.
Ensuite, j'ai modifiée la balise "context" du fichier "META-INF/context.xml" de mon application et j'ai supprimé celle de "serveur.xml". Et là, j'me suis retouvée avec une page blanche aussi.
Bon, pour les fichier de log :
stderr.log :
Citation : java.lang.NullPointerException |
stdout.log :
Citation : May 17, 2005 8:25:15 AM org.apache.coyote.http11.Http11Protocol init |
J'pense pas que ma solution se trouve dans les fichiers de log. J'ai regardais les autres et y a rien concernant le fichier "serveur.xml" ni le déploiement avec mon lecteur.
Y a pas moyen là, c'est pas faisable ça... Si je pouvais avoir le choix...
Marsh Posté le 17-05-2005 à 09:14:54
Moi je te propose cela:
Organisation des dossiers:
RepApplication
|_WEB-INF
|_classes --> Appli.class
|_src
dans le fichier server.xml, au-dessus des lignes qui définissent l'appli 'manager', tu ajoutes:
<Context path="/MonAppli" docBase="XRepApplication" />
Ensuite dans le web.xml de l'application tu fais ca:
<web-app>
<servlet>
<servlet-name>Exemple</servlet-name>
<servlet-class> Appli</servlet-class>
</servlet>
</web-app>
Puis tu relance TomCat tu tape dans ton navigateur: http://localhost:8080/MonAppli/servlet/Appli
Je te promets rien, mais bon on sais jamais.
Marsh Posté le 17-05-2005 à 14:06:03
le plus simple pour déclarer une web app c'est de créer un fichier xml dans le rep webapps de tomcat. Ce fichier contient la balise Context, de la même façon qu'on le retrouverait dans le server.xml, sauf que là y a pas besoin de modifier ce fichier de conf.
Je précise : le mieux est de ne mettre que le fichier xml de déclaration du context : les fichiers de l'application, eux peuvent se trouver ailleur.
exemple de fichier de conf de context :
|
C'est le répertoire pointé par docBase qui doit contenir les fichiers de l'application (le WEB-INF/web.xml, et tout le reste ... le path c'est le prefix d'accès à la webapp depuis le browser (http://localhost:8080/toto/...), le reste est optionnel.
Autre avantage, quand on ne veut plus de la webapp, il suffit de renommer le fichier pour que tomcat ne le prenne plus en compte (perso je rajoute un .unused derrière associé à un icone qui indique que le fichier n'est pas actif). C'est très pratique.
Marsh Posté le 13-05-2005 à 15:01:04
Salut,
je voudrais déplacer mon dossier webapps vers un dossier sur un lecteur à distance (volonté de l'entreprise qui aura l'application). Il sait qu'il faut que je modifie le fichier serveur.xml, j'ai trouvai la ligne, mais je ne sait pas quoi mettre car il est juste marqué "webapps" :
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
Il y a certainement une autre ligne à modifier mais je ne sais pas quoi... Que faut-il que je mette dans "appBase" sachant que je veux que mes fichier de l'application soit sur le lecteur X:\mon_app ?
Message édité par Lo-chan le 16-05-2005 à 11:54:50