déployer webapp d’Eclipse dans le contexte racine de Tomcat

Je déploie une application .war à partir d’Eclipse en ajoutant la facette “Dynamic Web Module”, puis en cliquant avec le bouton droit sur le projet et en sélectionnant “Exécuter en tant que -> Exécuter sur le serveur”.

Cela fonctionne très bien, mais par défaut, le projet est déployé dans le contexte /web de Tomcat, car le nom du projet est web . Est-il possible de déployer Eclipse à Tomcat sans changer le nom du projet en ROOT?

Vous devez aller à la Server View .. double-cliquez sur tomcat, cela ouvre une nouvelle fenêtre (avec 2 tabs). Sélectionnez celui qui dit Modules , votre application y serait répertoriée (avec le chemin de contexte). Vous pouvez changer le chemin de contexte de / web vers n’importe quoi d’autre à partir d’ici.

Vous pouvez également ouvrir server.xml pour rechercher une balise appelée context. Dans cette balise, vous trouverez le contexte comme / web .. changez-le.

Cliquez avec le bouton droit sur votre projet dans Eclipse et sélectionnez Propriétés-> Paramètres du projet Web. Changer le nom du contexte ici.

Sinon, vous pouvez le modifier dans le fichier .settings / org.eclipse.wst.common.component à l’intérieur de votre projet.

Dans les parameters de projet Web du projet, définissez la racine de contexte sur “/” . (Sans citations)

Juste au cas où vous utiliseriez apache2 avec mod_proxy . Dans ma définition d’hôte virtuel, j’ai une entrée Location pour le contexte racine:

   BalancerMember ajp://localhost:18009 route=s1 BalancerMember ajp://localhost:28009 route=s2  # A "Location" entry for hosting static content. Would put mod_expire settings # here  ProxyPass ! #Don't proxy this location ExpiresActive on ExpiresDefault "access plus 1 seconds" ExpiresByType application/javascript "access plus 1 months"  #... # This must be the last "Location" if you are overloading others, otherwise # the others won't load as apache uses the first one listed that matches  ProxyPass balancer://ajpCluster stickysession=JSESSIONID  

Après avoir configuré un serveur dans eclipse, vous pouvez le configurer et append / supprimer / modifier tous les modules (contextes / applications Web) que vous souhaitez héberger. Vous devriez avoir une fenêtre Serveurs qui répertorie le serveur (sinon: Fenêtre> Afficher la vue> Serveurs). Double-cliquez sur le serveur pour ouvrir la page de configuration. Il y a 2 tabs, mais ils sont dans le coin inférieur gauche. Ouvrez les modules, tout module que vous avez ajouté sera répertorié. Si vous voulez qu’un module soit le module par défaut (donc si vous tapez localhost, cela servira par exemple le fichier index.jsp), assurez-vous que ce chemin indique “/”. La valeur par défaut sera ce qui se trouve dans les propriétés de votre application Web> Paramètres du projet Web, et correspond généralement au nom du projet. Si vous le définissez, il ne vous laissera pas le laisser vide, utilisez donc “/”.

Veillez à enregistrer les modifications de configuration pour votre serveur. Vous devrez peut-être aussi le “publier” pour que les modifications soient propagées sur le serveur réel.

Une dernière chose à vérifier est de trouver l’installation du serveur, d’ouvrir conf / server.xml et de rechercher vos contextes. Vous pouvez également modifier le chemin. Notez que path = “” équivaut à “/”, ce qui en fera l’application ROOT. Notez également qu’Eclipse créera une application Web vide nommée ROOT lorsque vous la publiez pour la première fois (cela se trouvera également dans server.xml). Il est sécuritaire de le supprimer. Même si votre application déployée aura le nom du projet comme nom de l’application Web, tant que le chemin est “”, il le traitera comme ROOT par défaut.

Right click the application > Properties > Web Project setings et définissez la racine du contexte sur ROOT (ou sur pour la vider – je ne l’ai pas essayée, essayez les deux et dites-moi lesquelles).