210 votes

Java - comment faire pour changer la racine de contexte d’un projet web dynamique dans Eclipse ?

J'ai développé un projet web dynamique dans Eclipse. Maintenant, je peux y accéder via mon navigateur à l'aide de l'URL suivante:

http://localhost:8080/MyDynamicWebApp

Maintenant, je veux changer l'URL d'accès à

http://localhost:8080/app

J'ai changé la racine de contexte du projet "Propriétés | Web Paramètres du Projet | Contexte de la Racine".

Mais ça ne fonctionne pas. L'application web a encore de l'URL d'accès comme précédemment. J'ai re-déployé l'application sur Tomcat, re-commencé le Tomcat et ont fait tout ce qui devrait être fait, mais l'URL d'accès est le même que précédemment.

J'ai trouvé qu'il n'y avait pas server.xml fichier joint avec l' WAR le fichier. Alors comment le Tomcat est de déterminer le contexte de la racine de mon application web est - /MyDynamicWebApp et est de me permettre d'accéder à l'application via cette URL?

345voto

Russ Bateman Points 6868

Je suis sûr que vous avez déplacé sur, mais je pensais que je voudrais répondre à toute façon.

Certaines de ces réponses donnent des solutions de rechange. Ce qui doit arriver, c'est que vous nettoyez et de republier votre projet pour "activer" la nouvelle URI. Cela se fait en cliquant-droit sur votre serveur (dans la vue des Serveurs) et en choisissant Propre. Puis vous démarrer (ou redémarrer). La plupart des autres réponses ici vous suggère de faire des choses qui, en effet, à accomplir cette tâche.

Le fichier qui est en train de changer d'espace de travail/.les métadonnées/.plugins/org.eclipse.wst.serveur.core/publier/publier.dat , à moins que vous avez plus d'un serveur dans votre espace de travail, auquel cas, il sera publishN.dat sur la même voie.

Espérons que cela aide quelqu'un.


Vous ne savez pas si c'est l'étiquette appropriée ou pas -- je suis l'édition de cette réponse pour donner des mesures exactes pour Eclipse Indigo.

(1) Dans les Propriétés de votre projet, choisissez "Web les Paramètres de Projet".

(2) le Changement de Contexte "racine" à "app".

screen shot of Eclipse project properties Web Project Settings

(3) Choisissez Fenêtre > Afficher La Vue > Les Serveurs.

(4) Arrêter le serveur en cliquant sur le carré rouge de la boîte ("Arrêtez le serveur" info-bulle) ou le contexte-cliquez sur le serveur de liste pour choisir "Arrêter".

(5)Sur le serveur que vous souhaitez utiliser, cliquez sur pour choisir "Nettoyer...".

enter image description here

(6) Cliquez sur OK dans cette boîte de dialogue de confirmation.

Screenshot of dialog asking to update server configuration to match the changed context root

Vous pouvez maintenant exécuter votre application avec la nouvelle "app" URL de la forme:

http://localhost:8080/app/

Faire cela à l'extérieur de l'Éclipse, sur votre serveur de production, il est encore plus facile --> Renommer le fichier war. Exporter votre Vaadin application comme une GUERRE de fichier (Fichier > Exporter > Web > fichier WAR). Déplacer le fichier WAR de votre serveur web conteneur de servlet comme Tomcat. Renommer votre fichier WAR, dans ce cas d'application.de la guerre". Lorsque vous démarrez le conteneur de servlet, plus comme Tomcat s'auto-déployer l'application, qui comprend l'expansion de la guerre de fichier dans un dossier. Dans ce cas, nous devrions voir un dossier nommé "app". Vous devriez être bon d'aller. Test de votre URL. Pour un nom de domaine tel que "example.com" ce serait: http://www.example.com/app/

Merci beaucoup à Russ Bateman pour l'affichage de la bonne réponse à ce problème frustrant.

Vaadin toolkit programmeurs peuvent avoir besoin de reconstruire leur widget si vous utilisez visual add-ons.

--Basilic Bourque

33voto

Csaba_H Points 5504

Après la modification de la racine de contexte dans les propriétés du projet, vous devez supprimer de votre application web à partir de Tomcat (à l'aide d'Ajouter et de Supprimer des... dans le menu contextuel du serveur), redéployer, puis ajouter à nouveau votre application et de les redéployer. Il a travaillé pour moi.

Si vous êtes frappé vous avez un autre choix: sélectionnez le serveur Tomcat dans les Serveurs de vue. En Double-cliquant sur ce serveur (ou sélectionnez Ouvrir dans le menu contextuel) apporte un multipage éditeur, où il est un des Modules de la page. Ici, vous pouvez modifier le contexte de la racine de votre module (appelé Chemin sur cette page).

24voto

limc Points 14557

Si vous utilisez Tomcat depuis Eclipse, il n'utilisez pas la configuration de votre installation de Tomcat. Il utilise la configuration de Tomcat qu'il a créée et stockée dans des "Serveurs" du projet. Si vous affichez votre workspace Eclipse, vous devriez voir un projet appelé "Serveurs". Développez "Serveurs" projet et vous rencontrerez server.xml. Ouvrez ce fichier et faites défiler tout le chemin vers le bas, et vous devriez voir quelque chose comme ceci:-

<Context docBase="abc" path="/abc" reloadable="true" source="org.eclipse.jst.jee.server:abc"/>

Ici, vous pouvez simplement changer votre contexte du projet de chemin à quelque chose d'autre.

Espérons que cette aide.

17voto

tosha Shah Points 488

J’ai essayé la solution suggérée par Russ Bateman Here dans le poste

À

Mais na pas fonctionné pour moi que j’avais besoin d’avoir un fichier *.war qui peut contenir la config et non à l’instance de serveur individuel sur mon localmachine.

Référence

Pour ce faire que j’ai besoin de jboss-Web.xml placée dans WEB-INF

6voto

Amar Poddar Points 41

Apache tomcat maintient le projet de chemin de contexte dans server.xml chemin d'accès. Pour chaque projet web sous Eclipse, il y a une balise à partir de là, vous pouvez le modifier.
Supposons que, il y a deux ou trois projet déployé sur le serveur. Pour chaque contexte chemin est stocké dans . Cette étiquette est située sur server.xml fichier dans le Serveur créé sur eclipse.

J'ai un projet pour il sur le contexte du chemin de la racine du serveur est:

<Context docBase="Test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:Test1"/>

Ce chemin représente le chemin de contexte de votre application web. En changeant ce chemin, votre web app chemin de contexte va changer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X