Comment déployer un fichier war dans Tomcat 7

346

J'ai copié le sample.warfichier dans le webappsrépertoire de Tomcat et je peux y accéder localhost:8080.

Maintenant, comment Tomcat va-t-il le déployer, je veux dire dois-je l'ouvrir dans le navigateur? Comment accéder à l'application?

nazar_art
la source

Réponses:

325

Vous pouvez accéder à votre application depuis: http://localhost:8080/sample

Le déploiement ou le redéploiement des fichiers de guerre est automatique par défaut - après avoir copié / écrasé le fichier sample.war, webappsrecherchez un dossier extrait dans votre dossiersample .

S'il ne s'ouvre pas correctement, vérifiez les fichiers journaux (par exemple tomcat / logs / catalina.out) pour les problèmes de déploiement.

Bozho
la source
7
et si la GUERRE est nommée "ROOT.war?" Où puis-je trouver cette GUERRE?
Kevin Meredith
5
Que faire si je souhaite déployer mon sample.war sur localhost: 8080 / quelque chose de différent?
Koray Tugay
15
vous pouvez spécifier cela dans META-INF /
context.xml
5
Le META-INF / context.xml, est-ce celui de tomcat \ conf \ context.xml? Ou doit-il figurer dans mon application que je déploie?
Koray Tugay
2
cela peut être aux deux endroits. Je préfère que ce soit dans l'application
Bozho
89

étape 1. ici je déploie pos.war Premièrement, allez dans le dossier tomcat webapps et collez-le

entrez la description de l'image ici

étape 2. allez dans tomcat-> dossier bin lancez tomcat en cliquant sur startup.bat

étape 3. aller dans le navigateur écrire localhost: nom du port / projet par exemple. localhost: 8080 / pos (ici mon tomcat fonctionne sur le port 8080)

Terminé....

entrez la description de l'image ici

Ferdous Wahid
la source
Je vous remercie! De plus, je devais définir des autorisations sur ma structure de répertoires Tomcat nouvellement installée afin que mon fichier WAR puisse être extrait et que des fichiers journaux puissent être générés.
Anthony De Souza
59

Il vous suffit de mettre votre fichier war dans des webapps puis de démarrer votre serveur.

il sera déployé.

sinon, vous pouvez également utiliser tomcat manager une page Web pour télécharger et déployer votre guerre à distance.

Jigar Joshi
la source
1
Malheureusement ça ne marche pas! Voulez-vous tester mon fichier de guerre spécifique?! Veuillez télécharger "linshare-core-1.8.4-without-SSO.war" sur " forge.linshare.org/projects/linshare/files "
Dr.jacky
@ Mr.H queue le journal lorsque vous démarrez le serveur après avoir placé la guerre, vous trouverez pourquoi il ne fonctionne pas
Jigar Joshi
1
"Si l'attribut Host autoDeploy est" true ", l'hôte tentera de déployer et de mettre à jour les applications Web de manière dynamique, selon les besoins, par exemple si un nouveau .WAR est déposé dans l'appBase. Pour que cela fonctionne, l'hôte doit avoir un arrière-plan traitement activé qui est la configuration par défaut. "
haltunbay
50

Étapes manuelles - Windows

  1. Copiez le fichier .war (Ex: prj.war) dans %CATALINA_HOME%\webapps(Ex: C: \ tomcat \ webapps)

  2. Courir %CATALINA_HOME%\bin\startup.bat

  3. Votre fichier .war sera extrait automatiquement dans un dossier du même nom (sans extension) (Ex: prj)

  4. Accédez à %CATALINA_HOME%\conf\server.xmlet prenez le port pour le protocole HTTP. <Connector port="8080" ... />. La valeur par défaut est 8080 .

  5. Accédez à l'URL suivante:

    [<protocol>://]localhost:<port>/folder/resourceName

    (Par exemple: localhost:8080/folder/resourceName )

N'essayez pas d'accéder à l'URL sans le resourceNamecar cela ne fonctionnera pas s'il n'y a pas de fichier comme index.html, ou s'il n'y a pas de modèle d'URL comme " /" ou " /*" dans web.xml .

Les chemins principaux disponibles sont ici: [<protocol>://]localhost:<port>/manager/html(Ex:) http://localhost:8080/manager/htmlet ils ont truesur la colonne "Running".


Utilisation du gestionnaire d'interface utilisateur:

  1. Allez à [<protocol>://]localhost:<port>/manager/html/(généralement localhost:8080/manager/html/)

    Ceci est également possible depuis [<protocol>://]localhost:<port>> Manager App )

    Si vous obtenez:

    403 Accès refusé

    accédez à %CATALINA_HOME%\conf\tomcat-users.xmlet vérifiez que vous avez activé une ligne comme celle-ci:

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. Dans le déploiement section, fichier WAR Déployez paragraphe, cliquez sur Parcourir ... .

    Déployer la navigation

  3. Sélectionnez le fichier .war (Ex: prj.war)> cliquez sur Déployer .

  4. Dans la section Applications , vous pouvez voir le nom de votre projet (Ex: prj).
ROUMANIE_ingénieur
la source
20

En plus des moyens déjà mentionnés (déposer le fichier war directement dans le répertoire webapps ), si l'application Tomcat Manager est installée, vous pouvez également déployer des fichiers war via un navigateur. Pour accéder au gestionnaire, accédez à la racine du serveur (dans votre cas, localhost: 8080), sélectionnez "Tomcat Manager" (à ce stade, vous devez connaître le nom d'utilisateur et le mot de passe d'un utilisateur Tomcat avec "manager" - , les utilisateurs sont définis dans tomcat-users.xml dans le conf-répertoire de l'installation tomcat). Depuis la page d'ouverture, faites défiler vers le bas jusqu'à ce que vous voyez la partie "Déployer" de la page, où vous pouvez cliquer sur "Parcourir" pour sélectionner un fichier WAR à déployer à partir de votre machine locale. Après avoir sélectionné le fichier, cliquez sur déployer. Après un certain temps, le gestionnaire devrait vous informer que l'application a été déployée (et si tout s'est bien passé, a commencé).

Voici une procédure plus longue et d'autres instructions à partir des pages de documentation de Tomcat 7.

esaj
la source
4
Le managerrôle dans Tomcat 7 est maintenant manager-gui. J'ai été mordu par celui-ci.
SpliFF
2
La suppression du fichier .war dans les applications Web n'a pas fonctionné pour moi, et il n'y avait aucun signe d'erreur dans les journaux. Le faire à partir du gestionnaire Tomcat a fait l'affaire. Pas la
moindre
15

Il y a deux façons:

  1. Soit vous pouvez effectuer un déploiement à chaud (déploiement à chaud signifie déployer lorsque le serveur est en cours d'exécution / up).
  2. Ou vous pouvez faire un déploiement à froid (déploiement à froid signifie déployer lorsque le serveur est arrêté).

Utilisez simplement la console du gestionnaire tomcat pour le déploiement de la console ou copiez et collez simplement votre application dans le dossier webapp du répertoire tomcat_home de votre serveur.

Remarque: assurez-vous que si la taille de votre fichier war est supérieure à 52 Mo ( la valeur de configuration par défaut ), vous devez apporter deux petites modifications au fichier web.xml de l'application Manager de votre dossier webapp (l'application Manager est fournie par Apache tomcat par défaut). lors de l'installation du serveur).

  • Accédez au site web.xml de l'application de gestion (par exemple, il peut se trouver sous /tomcat7/webapps/manager/WEB-INF/web.xml.

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    Augmentez la taille en mettant les valeurs pour <max-file-size>et <max-request-size>selon vos besoins.

Shailesh Saxena
la source
10

Cela a fonctionné pour moi:

  1. Créez votre fichier de guerre (mysite.war) localement.
  2. Renommez-le localement en quelque chose en plus de .war, comme mysite.www
  3. Avec tomcat toujours en cours d'exécution, téléchargez mysite.www sur les applications Web répertoire .
  4. Une fois le téléchargement terminé, supprimez la version précédente mysite.war
  5. Répertoriez le répertoire, en attendant que le répertoire / mysite disparaisse.
  6. Renommez mysite.www en mysite.war
  7. Répertoriez le répertoire, en attendant que le nouveau / mysite soit créé.

Si vous essayez de télécharger le nouveau fichier en tant que fichier war, avec tomcat toujours en cours d'exécution, il tentera de le développer avant qu'il ne soit tout. Cela échouera. Ayant échoué, il ne réessaiera pas. Ainsi, télécharger un fichier www, puis le renommer, permet à tout le fichier war d'être présent avant que tomcat ne le remarque.

Astuce, n'oubliez pas de vérifier que le propriétaire du fichier de guerre est tomcat (utilisez chown)

Fred Myers
la source
2
Bien que cela puisse fonctionner dans des cas exceptionnels, ce n'est pas une procédure de déploiement / déploiement valide. mysite.www créera un nouveau contexte si autodeploy = "true" et la suppression de mysite.war supprime le contexte mysite dans plusieurs conditions normales. La meilleure référence est le déploiement d'applications Web Tomcat .
user250343
4

Si vous avez installé tomcat7 à l'aide apt-getde Linux, déployez votre application sur/var/lib/tomcat7/webapps/

par exemple.

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

De plus, continuez à rédiger le journal de Tomcat afin de pouvoir vérifier que votre application fait réellement la paix avec Tomcat.

tail -f /var/lib/tomcat7/logs/catalina.out

L'application déployée doit apparaître dans http://172.16.35.155:8080/manager/html

Prayagupd
la source
2

1.Générez un fichier de guerre à partir de votre application
2. ouvrez Tomcat Manager, descendez la page
3. Cliquez sur Parcourir pour déployer la guerre.
4. choisissez votre fichier de guerre. Voilà!


la source
2

Pour déployer le fichier war sur tomcat, procédez comme suit:

  1. Arrêtez le matou. powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop (sur le côté gauche).

entrez la description de l'image ici

  1. Placez le fichier .war dans E: \ Tomcat_Installation \ webapps ie dossier webapps ie put.war (put.war n'est qu'un exemple)

entrez la description de l'image ici

  1. Après le démarrage du tomcat (pour démarrer tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> start)

vous obtiendrez un dossier dans E: \ Tomcat_Installation \ webapps ** put **

entrez la description de l'image ici

De cette façon, vous pouvez déployer votre fichier war dans Apache Tomcat.

Deepak Bhavale
la source
1

Effectuez les étapes suivantes:

  • Arrêtez le Tomcat
  • Faites un clic droit sur le projet et cliquez sur "Nettoyer et construire"
  • Accédez au répertoire de votre projet et dans le dossier Dist, vous obtiendrez un fichier de guerre que vous copiez sur votre tomcat
  • dossier webApp
  • Démarrer le tomcat
  • extraire automatiquement les fichiers de guerre et exécuter votre projet
plaes
la source
1

J'ai suivi les instructions dans le lien suivant, cela fonctionne pour moi. http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Arrête Tomcat

  2. Supprimez tous les journaux dans tomcat / logs et tous les fichiers dans tomcat / conf / Catalina / localhost

  3. Supprimez le fichier war et le répertoire qu'il a créé (si c'est le cas) de tomact / webapps

  4. Démarrer Tomcat

  5. Tout en regardant les journaux, copiez à nouveau le fichier war dans le répertoire webapps

Après cela, gardez un œil sur le catalina.xxxx-xx-xx.log pour découvrir le problème.

elin
la source
1
Il ne s'agit pas d'une procédure de déploiement / déploiement valide car elle interfère avec les fichiers gérés exclusivement par Tomcat. La meilleure référence est Tomcat Web Application Deployment
user250343