Question

J'ai développé un projet Web dynamique dans 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 à

http://localhost:8080/app

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

Mais il ne fonctionne pas. L'application Web a encore l'URL d'accès comme précédemment. Je redéployé l'application sur Tomcat, relancée le Tomcat et ont fait tout ce qui doit ê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 de fichier attaché server.xml avec le fichier WAR. Alors, comment le Tomcat est déterminé que la racine du contexte de mon application web est /MyDynamicWebApp et me permet d'accéder à l'application via cette URL?

Était-ce utile?

La solution

Je suis sûr que vous avez tourné la page maintenant, mais je pensais que je répondrais de toute façon.

Certaines de ces réponses donnent des solutions de contournement. Ce qui doit réellement se produire est que vous nettoyez et republier votre projet pour « activer » la nouvelle URI. Cela se fait par un clic droit sur votre serveur (dans la vue des serveurs) et en choisissant Clean. Ensuite, vous commencez (ou redémarrez). La plupart des autres réponses suggèrent ici que vous faites des choses qui en fait accomplir cette tâche.

Le fichier qui change est workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat à moins que, soit vous avez plus d'un serveur dans votre espace de travail auquel cas il sera publishN.dat sur ce même chemin.

Espérons que cela aide quelqu'un.


Je ne sais pas si cela est l'étiquette appropriée ou non -. Je suis l'édition de cette réponse à donner des mesures précises pour Eclipse Indigo

  1. Dans votre projet de Propriétés , choisissez Paramètres du projet Web .

  2. Modifier Racine de contexte app .

    capture d'écran des propriétés du projet Eclipse Web Paramètres du projet

  3. Choisissez Fenêtre> Affichage> Serveurs .

  4. Arrêtez le serveur soit en cliquant sur la case carré rouge ( « Arrêtez le serveur » info-bulle) ou un clic contextuel sur le serveur pour choisir la liste « Stop ».

  5. Sur le serveur que vous souhaitez utiliser, un clic contextuel pour choisir "Clean ...".

    entrer image description ici

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

    Capture d'écran de dialogue demandant de mettre à jour la configuration du serveur pour correspondre à la racine de contexte a changé

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 -> Renommez le fichier de guerre. Exporter votre application Vaadin en tant que fichier WAR ( Fichier> Exporter> Web> fichier WAR ). Déplacez le fichier WAR au conteneur de servlet de votre serveur Web tel que Tomcat. Renommez votre fichier WAR, dans ce cas à app.war . Lorsque vous démarrez le conteneur de servlet, la plupart tels que Tomcat déployer automatiquement l'application, ce qui comprend l'élargissement du fichier de guerre dans un dossier. Dans ce cas, nous devrions voir un dossier nommé app . Vous devriez être bon d'aller. Testez votre URL. Pour un domaine tel que * example.com » ce serait:

  

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

programmeurs boîte à outils de Vaadin peuvent avoir besoin de reconstruire leur ensemble de widgets si vous utilisez add ons visuels.

Autres conseils

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

Si vous vous avez un autre choix frappé: sélectionnez le serveur Tomcat dans la vue Serveurs. Double-cliquez sur le serveur (ou en sélectionnant Ouvrir dans le menu contextuel) apporte un éditeur multipage où il y a une page Modules. Ici, vous pouvez modifier le contexte racine de votre module (appelé chemin sur cette page).

Si vous utilisez Tomcat à partir d'Eclipse, il n'utilise pas la configuration de votre installation de Tomcat réelle. Il utilise la configuration Tomcat qu'il a créé et stocké sous projet « Serveurs ». Si vous affichez votre espace de travail Eclipse, vous devriez voir un projet appelé « Serveurs ». Développez ce projet « Serveurs » et vous rencontrerez server.xml. Ouvrez ce fichier et faites défiler la liste 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 chemin de contexte du projet à autre chose.

Hope this helps.

J'ai essayé la solution proposée par Russ Bateman Ici, dans le poste

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

Mais didnt a fonctionné pour moi que je devais avoir un fichier * .war qui peut contenir la configuration et non l'instance individuelle du serveur sur mon localmachine.

Référence

Pour ce faire, je dois jboss-web.xml placé dans 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>

Réglage du chemin à rien dans la boîte de dialogue d'édition des modules Web Eclipse m'a permis d'accéder au projet sans composant de chemin dans l'URL (par exemple ROOT)

Vous pouvez accéder à la boîte de dialogue des modules web d'édition en appuyant sur F3 si vous sélectionnez Tomcat dans la vue « Serveurs » ou en double cliquant dessus.

Quelques captures d'écran:

Apache tomcat conserve le chemin de contexte du projet dans le chemin de server.xml. Pour chaque projet web sur Eclipse, il y a étiquette de là, vous pouvez le changer.
Supposons, il y a deux ou trois projets déployés sur le serveur. Pour chaque chemin un contexte est stocké dans. Cette balise se trouve sur le fichier server.xml au sein du serveur créé sur Eclipse.

J'ai un projet pour y 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 le chemin de contexte de votre application web. En changeant ce chemin, votre chemin web contexte app changera.

Je sais que la réponse a été acceptée déjà. Mais, au cas où quelqu'un en utilisant Maven veut réaliser la même chose, juste régler la finalName dans le maven construire pour quelque nom que vous voulez donner et faire un maven -> projet de mise à jour

<build>
    <finalName><any-name></finalName>
    <plugins><provide-plugins-needed></plugins>
<build>

Si le projet est maven, changer le « finalName » dans pom.xml et mise à jour du projet comme Maven.This a fonctionné pour moi.

Dans Glassfish vous devez également modifier le fichier WEB-INF / GlassFish-web.xml

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

Ainsi, lorsque vous cliquez sur "Exécuter en tant> Exécuter sur le serveur" il ouvrira correctement.

Je voulais juste ajouter que si vous ne voulez pas que votre nom de l'application dans le contexte de la racine du tout, vous et vient de mettre « / » (sans guillemets, juste la barre oblique) dans l'Eclipse -> Paramètres du projet Web -> Contexte entrée racine

Ce déploiera le webapp juste http: // localhost: 8080 /

Bien sûr, cela causera des problèmes avec d'autres webapps vous essayez d'exécuter sur le serveur, la tête vers le haut avec cela.

Il m'a fallu une éternité pour pièce qui, ensemble ... donc même si ce poste est de 8 ans, nous espérons que cela va encore aider quelqu'un!

Dans le projet java, dossier .settings ouvert. il recherchez le fichier nommé « org.eclipse.wst.common.component ». Modifier balise .

Aussi, vous pouvez modifier la racine de contexte dans les propriétés du projet

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>

aller maintenant à votre dossier racine du projet et ouvrez l'invite cmd à cet endroit tapez cette commande:

mvn Eclipse: Eclipse -Dwtpversion = 2,0

Vous devrez peut-être redémarrer Eclipse, ou en mode serveur supprimer serveur et créer planifions pour voir affecter. Je me demande ce faire de l'exercice sens dans la vie réelle, mais fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top