Comment modifier le contexte root d'un projet web dynamique dans Eclipse?

j'ai développé un projet web dynamique à Eclipse. Maintenant je peux y accéder via mon navigateur en utilisant L'URL suivante:

http://localhost:8080/MyDynamicWebApp

maintenant je veux changer L'URL d'accès en

http://localhost:8080/app

j'ai changé la racine du contexte du projet"Propriétés | Paramètres du projet Web | racine du contexte".

mais ça ne marche pas. L'application web a toujours L'URL d'accès comme précédemment. J'ai re-déployé l'application sur Tomcat, redémarré le Tomcat et ont fait tout ce qui doit être fait, mais L'URL d'accès est le même que plus tôt.

j'ai constaté qu'il n'y avait pas de dossier server.xml joint au dossier WAR . Alors comment le Tomcat détermine que la racine de contexte de mon application web est /MyDynamicWebApp et me permet d'accéder à l'application par cette URL?

189
demandé sur BalusC 2010-03-13 09:07:46

11 réponses

je suis sûr que tu es passé à autre chose, mais j'ai pensé que je répondrais quand même.

Certaines de ces réponses donnent des solutions de rechange. Ce qui doit réellement se produire est que vous nettoyez et republiez votre projet pour "activer" la nouvelle URI. Cela se fait en cliquant avec le bouton droit de votre serveur (dans la vue des serveurs) et en choisissant Clean. Puis vous démarrer (ou redémarrer). La plupart des autres réponses ici suggèrent que vous fassiez des choses qui en fait accomplissent ceci.

le fichier qui est le changement est workspace/.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.

J'espère que ça aidera quelqu'un.


Je ne suis pas sûr que ce soit la bonne étiquette ou pas -- je édite cette réponse pour donner les étapes exactes pour Eclipse Indigo.

  1. dans les propriétés de votre projet, choisissez"Paramètres du projet Web".

  2. changer" Context root "en"app".

    screen shot of Eclipse project properties Web Project Settings

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

  4. arrêtez le serveur en cliquant soit sur la case carrée rouge ("arrêter le serveur" tooltip) soit en contexte-cliquez sur la liste du serveur pour choisissez "Arrêt".

  5. sur le serveur que vous souhaitez utiliser, context-Cliquez pour choisir"Clean...".

    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

Maintenant, vous pouvez lancer votre application avec la nouvelle URL "app" comme:

http://localhost:8080/app/

faire cela en dehors D'Eclipse, sur votre serveur de production, est encore plus facile --> renommer le fichier war. Exportez votre application Vaadin en tant que fichier de guerre (fichier > Export > Web > fichier de guerre). Déplacez le fichier WAR vers le conteneur servlet de votre serveur web tel que Tomcat. Renommez votre fichier WAR, dans ce cas en "app.guerre." Lorsque vous démarrez le conteneur servlet, la plupart des applications comme Tomcat vont auto-déployer l'application, ce qui inclut l'extension du fichier war à un dossier. Dans ce cas, nous devriez voir un dossier nommé "app". Tu devrais être prête à partir. Test de votre URL. Pour un domaine tel que "example.com "ce serait:

http://www.example.com/app/

Vaadin toolkit les programmeurs peuvent avoir besoin de reconstruire leur jeu de widget Si vous utilisez des addons visuels.

305
répondu Russ Bateman 2018-02-22 17:44:00

après avoir changé la racine du contexte dans les propriétés du projet, vous devez supprimer votre application Web de Tomcat (en utilisant ajouter et supprimer... dans le menu contextuel du serveur), redéployer, puis Ajouter à nouveau votre application et redéployer. Il a travaillé pour moi.

si vous êtes frappé, vous avez un autre choix: sélectionnez le serveur Tomcat dans la vue des serveurs. En double cliquant sur ce serveur (ou en sélectionnant Ouvrir dans le menu contextuel), vous obtenez un éditeur multipage où il y a une page de Modules. Ici vous pouvez changer le contexte racine de votre module (appelé chemin sur cette page).

31
répondu Csaba_H 2010-03-13 07:11:41

si vous exécutez Tomcat à partir D'Eclipse, il n'utilise pas la configuration de votre installation Tomcat actuelle. Il utilise la configuration Tomcat qu'il a créée et stockée sous le projet "Servers". Si vous voyez votre espace de travail Eclipse, vous devriez voir un projet appelé "serveurs". Étendre ce projet "serveurs" et vous tomberez sur le serveur.XML. Ouvrez ce fichier et faites défiler jusqu'au bas de l'écran, 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 le chemin du contexte de votre projet vers autre chose.

Espérons que cette aide.

24
répondu limc 2010-05-17 21:13:53

j'ai essayé la solution proposée par Russ Bateman ici dans le post

http://localhost:8080/Myapp à http://localhost:8080/somepath/Myapp

mais ne travaillait pas pour moi car j'avais besoin d'un *.fichier de guerre qui peut contenir la configuration et non l'instance individuelle du serveur sur ma machine locale.

référence

pour ce faire j'ai besoin de jboss-web.xml placé dans le WEB-INF

<?xml version="1.0" encoding="UTF-8"?>
 <!--
Copyright (c) 2008 Object Computing, Inc.
All rights reserved.
-->
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">

  <jboss-web>
  <context-root>somepath/Myapp</context-root>
  </jboss-web>
17
répondu tosha Shah 2012-08-30 16:31:44

Apache tomcat conserve le chemin de contexte du projet dans le serveur.xml path. Pour chaque projet Web sur Eclipse, il ya tag à partir de là, vous pouvez le changer.

Supposons qu'il y ait deux ou trois projets déployés sur le serveur. Pour chaque chemin de contexte est stocké . Cette étiquette est située sur le serveur.fichier xml dans le serveur créé sur eclipse.

j'ai un projet pour là sur le chemin racine de contexte dans le serveur est:

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

ce chemin représente chemin de contexte de votre application web. En changeant ce chemin, votre chemin de contexte d'application web changera.

6
répondu Amar Poddar 2011-11-14 12:19:15

je sais que la réponse a déjà été accepté. Mais, juste au cas où n'importe qui utilisant Maven veut atteindre la même chose, il suffit de mettre le nom final dans le maven construire à n'importe quel nom que vous voulez donner et faire un Maven - > mettre à jour le projet

<build>
    <finalName><any-name></finalName>
    <plugins><provide-plugins-needed></plugins>
<build>
6
répondu Karthik 2014-10-15 19:53:25

définir le chemin vers rien dans la boîte de dialogue Édition des modules Web Eclipse m'a permis d'accéder au projet sans aucun élément de chemin dans L'URL (i.e. ROOT)

vous pouvez accéder à la boîte de dialogue Modifier les modules web en appuyant sur F3 si vous sélectionnez Tomcat dans la vue" Serveurs " ou en double cliquant dessus.

quelques screenshots:

6
répondu Ray Hulha 2015-09-08 16:20:56

si le projet est maven, changer le" nom final " dans pom.xml et mise à Jour de Projet Maven.Cela a fonctionné pour moi.

4
répondu Sudarshani Perera 2016-04-19 09:06:05

dans Glassfish vous devez également changer le fichier WEB-INF/glassfish-web.xml

<glassfish-web-app>
    <context-root>/myapp</context-root>
</glassfish-web-app>

Ainsi, lorsque vous cliquez dans "Exécuter en tant qu'> Exécuter sur le serveur" il va ouvrir correctement.

2
répondu Alan Weiss 2013-11-26 16:14:32

Dans le projet java, open .les paramètres de dossier. localisez le fichier nommé " org.Eclipse.wst.commun.composant. " Modifier la balise .

vous pouvez aussi vouloir modifier le contexte root dans les propriétés du projet

0
répondu user418836 2011-10-28 19:30:14

si vous utilisez eclipse pour déployer votre application . Nous pouvons utiliser ce plugin maven

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <wtpversion>2.0</wtpversion>
        <wtpContextName>newContextroot</wtpContextName>
    </configuration>
</plugin>

allez maintenant dans le dossier racine de votre projet et ouvrez l'invite cmd à cet endroit. tapez cette commande :

mvn eclipse: eclipse-Dwtpversion=2.0

vous pouvez avoir besoin de redémarrer eclipse , ou dans la vue du serveur supprimer le serveur et créer agian pour voir affect. Je me demande si cet exercice a un sens dans la vie réelle, mais s'il fonctionne.

0
répondu supernova 2017-11-29 23:10:37