Wie ändere ich den Kontextstamm eines dynamischen Webprojekts in Eclipse?

Ich habe ein dynamisches Webprojekt in Eclipse entwickelt. Jetzt kann ich über meinen Browser auf die folgende URL zugreifen:

http://localhost:8080/MyDynamicWebApp 

Jetzt möchte ich die Zugangs-URL zu ändern

 http://localhost:8080/app 

Ich habe den Kontextstamm aus dem Projekt “Eigenschaften | Webprojekteinstellungen | Kontextstamm” geändert.

Aber es funktioniert nicht. Die Web-App hat immer noch die Zugriffs-URL wie zuvor. Ich habe die Anwendung auf Tomcat neu implementiert, den Tomcat neu gestartet und alles getan, was getan werden sollte, aber die Zugriffs-URL ist die gleiche wie zuvor.

Ich habe festgestellt, dass der WAR Datei keine server.xml Datei angehängt wurde. Wie stellt der Tomcat dann fest, dass der Kontextstamm meiner Webanwendung /MyDynamicWebApp ist und mir erlaubt, über diese URL auf die Anwendung zuzugreifen?

   

Ich bin mir sicher, dass du inzwischen weitergezogen bist, aber ich dachte, ich würde trotzdem antworten.

Einige dieser Antworten geben Aufschluss. Was wirklich passieren muss, ist, dass Sie Ihr Projekt säubern und neu veröffentlichen, um den neuen URI zu “aktivieren”. Dies geschieht, indem Sie mit der rechten Maustaste auf Ihren Server klicken (in der Ansicht Server) und dann auf Reinigen klicken. Dann starten Sie (oder starten Sie es neu). Die meisten anderen Antworten deuten darauf hin, dass Sie Dinge tun, die das tatsächlich bewirken.

Die Datei, die sich ändert, ist workspace / .metadata / .plugins / org.eclipse.wst.server.core / publish / publish.dat, es sei denn, Sie haben mehr als einen Server in Ihrem Arbeitsbereich, in diesem Fall wird es sein publishN.dat auf demselben Pfad.

Hoffe das hilft jemandem.


Ich bin nicht sicher, ob das eine richtige Etikette ist oder nicht – ich bearbeite diese Antwort, um genaue Schritte für Eclipse Indigo zu geben.

  1. Wählen Sie in den Eigenschaften Ihres Projekts “Webprojekteinstellungen”.

  2. Ändern Sie “Kontextstamm” in “App”.

    Screenshot der Eclipse-Projekteigenschaften Webprojekteinstellungen

  3. Wählen Sie “Fenster”> “Ansicht anzeigen”> “Server”.

  4. Stoppen Sie den Server, indem Sie entweder auf das rote Quadrat klicken (Tooltip “Stop the server”) oder auf den Servereintrag klicken, um “Stop” zu wählen.

  5. Klicken Sie auf dem Server, den Sie verwenden möchten, mit der rechten Maustaste auf “Clean …”.

    Bildbeschreibung hier eingeben

  6. Klicken Sie in diesem Bestätigungsdialogfeld auf OK.

    Screenshot des Dialogs mit der Aufforderung, die Serverkonfiguration so zu aktualisieren, dass sie dem geänderten Kontextstamm entspricht

Jetzt können Sie Ihre App mit der neuen URL “app” ausführen:

http://localhost:8080/app/

Dies ist noch einfacher, wenn Sie dies außerhalb von Eclipse auf Ihrem Produktionsserver tun -> Benennen Sie die WAR-Datei um. Exportieren Sie Ihre Vaadin-App als WAR-Datei (Datei> Exportieren> Web> WAR-Datei). Verschieben Sie die WAR-Datei in den Servlet-Container Ihres Webservers, z. B. Tomcat. Benennen Sie Ihre WAR-Datei um, in diesem Fall “app.war”. Wenn Sie den Servlet-Container starten, wird Tomcat die App automatisch bereitstellen. Dazu gehört auch das Erweitern der WAR-Datei in einen Ordner. In diesem Fall sollten wir einen Ordner namens “app” sehen. Du solltest gut gehen. Testen Sie Ihre URL. Für eine Domain wie “example.com” wäre das:

http://www.beispiel.de/app/

Vaadin Toolkit-Programmierer müssen möglicherweise ihren Widget-Satz neu erstellen, wenn sie visuelle Add-ons verwenden.

Nachdem Sie den Kontextstamm in den Projekteigenschaften geändert haben, müssen Sie Ihre Webanwendung von Tomcat entfernen (über Hinzufügen und Entfernen … im Kontextmenü des Servers), erneut bereitstellen, dann Ihre Anwendung erneut hinzufügen und erneut bereitstellen. Es hat für mich funktioniert.

Wenn Sie getroffen werden, haben Sie eine andere Wahl: Wählen Sie den Tomcat-Server in der Serveransicht. Wenn Sie auf diesen Server doppelklicken (oder im Kontextmenü Öffnen wählen), wird ein mehrseitiger Editor mit einer Modulseite angezeigt. Hier können Sie den Root-Kontext Ihres Moduls ändern (auf dieser Seite Pfad genannt).

Wenn Sie Tomcat von Eclipse aus ausführen, verwendet es nicht die Konfiguration Ihrer aktuellen Tomcat-Installation. Es verwendet die Tomcat-Konfiguration, die es erstellt und unter “Server” -Projekt gespeichert hat. Wenn Sie Ihren Eclipse-Arbeitsbereich anzeigen, sollten Sie ein Projekt namens “Server” sehen. Erweitern Sie dieses “Server” -Projekt und Sie werden server.xml finden. Öffnen Sie diese Datei und scrollen Sie bis zum Ende, und Sie sollten etwas wie folgt sehen:

  

Hier können Sie einfach den Projektkontextpfad zu etwas anderem ändern.

Hoffe das hilft.

Ich habe die von Russ Bateman vorgeschlagene Lösung hier in der Post ausprobiert

http://localhost:8080/Myapp für http://localhost:8080/somepath/Myapp

Aber Didnt arbeitete für mich, weil ich eine * .war-Datei haben musste, die die Konfiguration und nicht die einzelne Instanz des Servers auf meiner lokalen Maschine halten kann.

Referenz

Um das zu tun, brauche ich jboss-web.xml in WEB-INF

 < ?xml version="1.0" encoding="UTF-8"?>  < !DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">  somepath/Myapp  

Apache tomcat behält den Projektkontextpfad im Pfad server.xml. Für jedes Webprojekt auf Eclipse gibt es ein Tag, von dem aus Sie es ändern können.
Angenommen, es gibt zwei oder drei Projekte auf dem Server. Für jeden einzelnen Kontext ist Pfad in gespeichert. Dieses Tag befindet sich in der Datei server.xml innerhalb des Servers, der in Eclipse erstellt wurde.

Ich habe ein Projekt für dort auf Kontextstammpfad im Server ist:

  

Dieser Pfad steht für den Kontextpfad Ihrer Webanwendung. Wenn Sie diesen Pfad ändern, ändert sich der Kontext Ihrer Webanwendung.

Ich weiß, dass die Antwort bereits akzeptiert wurde. Aber für den Fall, dass irgendjemand Maven das gleiche erreichen möchte, setze einfach den finalName im Maven Build auf den Namen, den du geben willst und mach ein maven -> update Projekt

     

Wenn Sie im Bearbeitungsmodus für Eclipse-Webmodule den Pfad zu nichts festlegen, konnte ich auf das Projekt zugreifen, ohne eine Pfadkomponente in der URL (z. B. ROOT)

Sie erreichen den Dialog zum Bearbeiten von Web-Modulen, indem Sie F3 drücken, wenn Sie Tomcat in der Ansicht “Server” auswählen oder indem Sie darauf doppelklicken.

Einige Screenshots:

Wenn das Projekt maven ist, ändere den “finalName” in pom.xml und aktualisiere Project als Maven. Das funktionierte für mich.

In Glassfish müssen Sie auch die Datei WEB-INF / glassfish-web.xml ändern

  /myapp  

Wenn Sie also auf “Ausführen als> Auf Server ausführen klicken, wird es korrekt geöffnet.

Öffnen Sie im Java-Projekt den Ordner .settings. Dort finden Sie die Datei mit dem Namen “org.eclipse.wst.common.component”. Ändern Sie das Tag .

Möglicherweise möchten Sie auch den Kontextstamm in den Projekteigenschaften ändern

Bei Verwendung von Eclipse zum Bereitstellen Ihrer Anwendung. Wir können dieses Maven Plugin benutzen

  org.apache.maven.plugins maven-eclipse-plugin 2.10  2.0 newContextroot   

Gehe nun in deinen Projektstammordner und öffne die cmd-Eingabeaufforderung an dieser Stelle, indem du diesen Befehl eintippst:

mvn eclipse: eclipse -Dwtpversion = 2.0

Möglicherweise müssen Sie Eclipse neu starten, oder Server löschen Server löschen und Agian erstellen, um Auswirkungen zu sehen. Ich frage mich, ob diese Übung im wirklichen Leben Sinn macht, aber funktioniert.