web-dev-qa-db-fra.com

Déploiement d'un fichier WAR dans Tomcat/Eclipse

J'utilise Tomcat 6.0 et Eclipse 3.0 sous Linux et j'essaie de déployer un fichier WAR dans Tomcat. Le problème est que le serveur est géré par Eclipse et qu'un projet Eclipse est déployé. J'ai essayé de modifier le fichier server.xml puis de lancer Tomcat via Eclipse mais cela ne fonctionne pas:

Impossible de charger la configuration du serveur Tomcat dans/Servers/Tomcat version 6.0 Server sur localhost-config. La configuration peut être corrompue ou incomplète.

J'ai essayé d'extraire la guerre dans le répertoire webapps mais la webapp est toujours inaccessible.

Quelle est la meilleure pratique pour déployer une guerre?

9
Loïc Guillois

Oui, d’une certaine manière, vous pouvez déployer une guerre en mode dev.

J'ai le même problème.

J'ai un projet Webapp Eclipse, qu'Eclipse déploie sur une instance de Tomcat exécutée par Eclipse, ce qui me permet de modifier le projet à chaud.

Ce projet Web doit utiliser les ressources publiées par une autre application Web qui doit être exécutée dans la même instance de Tomcat. L'autre application Web est un projet achevé par quelqu'un d'autre. Elle est donc déjà sous une forme guerrière.

J'avais besoin de Fichier-> Importer la guerre en tant que projet Eclipse et de laisser Eclipse la déployer sur la même instance d'Eclipse, afin de l'exécuter dans la même instance de Tomcat dans laquelle mon application Web était également exécutée.

Le problème est que certaines guerres fonctionnent de cette façon, mais pas toutes, alors qu'elles fonctionnent toutes parfaitement dans un Tomcat autonome (démarré par startup.sh). Je ne peux pas comprendre pourquoi.

8
Yoichi

Tomcat se comporte différemment en mode développement et en mode production. Lorsque vous développez votre application Web dans Eclipse, il n’ya aucune raison de déployer un fichier WAR de votre application en tant que fichier WAR au cours du développement.

Allez simplement dans la vue "Serveurs" et ajoutez un nouveau serveur (vous devriez déjà l'avoir fait sinon vous ne pourriez pas créer votre projet Web dynamique). Dans la vue du serveur, vous devez voir le serveur que vous avez créé (Tomcat sur localhost ou quelque chose de similaire), cliquez dessus avec le bouton droit de la souris et allez à la section Ajouter et supprimer. Ici, vous pouvez ajouter et supprimer les projets Web dynamiques que vous avez créés dans Eclipse. Une fois que vous avez ajouté votre projet, tout ce que vous avez à faire est de cliquer sur le bouton de démarrage vert dans la vue des serveurs et votre application devrait être disponible dans à localhost:8080/mycontext.

Lorsque vous avez terminé de créer votre application, cliquez simplement sur le projet et accédez à la section Exporter du menu. Vous devriez pouvoir exporter un fichier WAR. Une fois que vous avez votre fichier WAR, vous pouvez le télécharger et le déployer sur une instance Tomcat qui n'est PAS liée à Eclipse s'exécutant en mode dev.

6
Luke

C'est vieux mais c'est l'une des premières réponses dans la recherche Google.

Vous pouvez importer le fichier war:

Un fichier Web Archive (WAR) est une application Web portable et packagée Que vous pouvez importer dans votre espace de travail. 

Avant d'importer un fichier WAR, vous devez d'abord déterminer si le fichier WAR contient les fichiers source Java ™ Nécessaires. Lors de l'importation d'un fichier WAR dans un projet Web existant, les fichiers descripteurs de déploiement Web Importés ne sont ni modifiés ni remplacés par ceux de Inclus dans le fichier WAR importé, en fonction de votre réponse à l'invite qui est fourni. Dans les deux cas, cette action ne représente pas une fusion de Des deux ensembles de descripteurs de déploiement. 

Pour importer les ressources de projet Web Dans un fichier WAR dans votre espace de travail, procédez comme suit: :

  1. Sélectionnez Fichier> Importer .
  2. Dans la boîte de dialogue Importer, sélectionnez Fichier WAR et , Puis cliquez sur Suivant. 
  3. Localisez le fichier WAR que vous souhaitez importer à l’aide du bouton Parcourir.
  4. L’assistant suppose que vous voulez créer un nouveau projet Web portant le même nom Que le fichier WAR. Si vous acceptez ce choix, le projet sera Créé avec la même version de servlet que celle spécifiée par le fichier WAR et au même emplacement. Si vous souhaitez remplacer ces paramètres, vous pouvez cliquer sur Nouveau et Spécifier vos nouveaux paramètres dans l'assistant de projet Web dynamique.
  5. Cliquez sur Terminer pour renseigner le projet Web .

La source:  http://help.Eclipse.org/luna/index.jsp?topic=%2Forg.Eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html

Si tout ce que vous avez est un fichier WAR binaire (pas de code source), il ne peut pas être installé dans Eclipse. Cela peut se produire dans certains scénarios en dehors des workflows de développement normaux. Voici la solution de contournement:

  1. Lancez une autre instance de Tomcat (en dehors d'Eclipse). 
  2. Modifier le fichier Tomcat-users.xml pour activer l'administrateur
  3. Aller au http://localhost:8080/manager/html 
  4. Faites défiler jusqu'à fichier WAR à déployer
  5. Cliquez sur Choisissez Fichier (à côté de Sélectionnez le fichier WAR à télécharger ) et cliquez sur Déployer .
0
Alex R