web-dev-qa-db-fra.com

Où Eclipse déploie-t-il des applications Web à l'aide de WTP?

J'ai une application Web (fichier WAR). Lorsque je le déploie via Eclipse 3.5 à l'aide des outils WTP, je suis en mesure de démarrer le serveur Tomcat à partir d'Eclipse et d'afficher toutes les pages de l'application. Cependant, je ne vois pas mon fichier WAR dans le dossier webapps du répertoire personnel de Tomcat (ou d'ailleurs son format éclaté). J'avais l'impression que Tomcat lit toutes les applications Web sous son dossier webapps. Comment Tomcat lit-il mon application dans ce cas? J'utilise Tomcat 5.5.17 comme serveur d'applications.

30
Thunderhashy

Tout est défini dans le context.xml qu'Eclipse a donné à Tomcat. Si vous souhaitez configurer ce comportement, double-cliquez sur l'instance Tomcat dans la vue des serveurs et vérifiez la section Emplacements des serveurs. Pour réaliser ce que vous voulez/attendiez initialement, vous devez sélectionner tiliser l'installation de Tomcat et, si nécessaire, également spécifier le Chemin de déploiement.

19
BalusC

J'ai récemment dû trouver plus de détails sur ce sujet pour résoudre les problèmes de démarrage de l'application, je le note donc ici.

Où l'application est-elle déployée?

Il est déterminé par la configuration du serveur. Double-cliquez sur le serveur dans la vue des serveurs pour voir le serveur "Vue d'ensemble". Dans la section "Emplacements des serveurs", une valeur par défaut est configurée:

  • Chemin du serveur: .metadata/.plugins/org.Eclipse.wst.server.core/tmp0
  • Chemin de déploiement: wtpwebapps

Le "module" d'application est également défini dans l'onglet "Modules" de la configuration du serveur qui spécifie le chemin de l'application, la base de documents et le nom du module. Par exemple, vous déployez votre projet myapp sur le chemin /MyApp.

Donc, si votre espace de travail est /home/me/workspace/myapp, le chemin d'accès au répertoire de déploiement de votre application est:

/home/me/workspace/myapp/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/myapp. 

Quels fichiers d'application sont déployés?

Le contenu du déploiement est déterminé par "Deployment Assembly" dans les propriétés du projet. Chaque entrée de l'assembly définit quels fichiers sont déployés sur quel chemin. Exemple:

  • /src/main/Java -> WEB-INF/classes
  • /src/main/resources -> WEB-INF/classes
  • /src/main/webapp -> /
  • Maven Dependencies -> WEB-INF/lib

Donc, si vous avez le fichier src/main/webapp/WEB-INF/web.xml dans votre arborescence source, il sera déployé sur:

/home/me/workspace/myapp/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/myapp/WEB-INF/web.xml
48
hshib