Domanda

Ho sviluppato un progetto web dinamico in Eclipse. Ora posso accedervi tramite browser utilizzando il seguente URL:

http://localhost:8080/MyDynamicWebApp

Ora voglio cambiare l'URL di accesso per

http://localhost:8080/app

Ho cambiato la root di contesto del progetto "Proprietà | Impostazioni progetto Web | Root di contesto".

Ma non sta funzionando. L'applicazione web ha ancora l'URL di accesso come in precedenza. Ho ri-distribuito l'applicazione su Tomcat, ri-avviato il Tomcat e ho fatto tutto ciò che dovrebbe essere fatto, ma l'URL di accesso è la stessa come in precedenza.

ho scoperto che non c'erano file di server.xml allegato con il file WAR. Allora come la Tomcat è determinante che la radice contesto della mia web app è /MyDynamicWebApp e mi permette di accedere all'applicazione tramite l'URL?

È stato utile?

Soluzione

Sono sicuro che hai spostato sulla ormai, ma ho pensato di rispondere in ogni modo.

Alcune di queste risposte dare soluzioni alternative. Ciò che in realtà deve accadere è che si pulito e ri-pubblicare il progetto di "attivare" il nuovo URI. Questo viene fatto il clic destro del server (in vista Server) e scegliendo pulito. Poi si inizia (o riavvia). La maggior parte delle altre risposte qui suggerisco di fare cose che in effetti raggiungere questo obiettivo.

Il file che sta cambiando è workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat a meno che, cioè, hai più di un server nello spazio di lavoro, nel qual caso sarà publishN.dat su quello stesso percorso.

Spero che questo aiuti qualcuno.


Non sono sicuro se questa è corretta etichetta o no -. Io sono l'editing questa risposta per dare passaggi esatti per Eclipse Indigo

  1. In del progetto Proprietà , scegliere Web Impostazioni progetto .

  2. Cambia root di contesto a App .

    screen shot di proprietà del progetto Eclipse Impostazioni progetto Web

  3. Scegli Finestra> Mostra vista> server .

  4. Arrestare il server facendo clic sul quadratino rosso ( "Stop the server" tooltip) oppure contesto clic sul server di messa in vendita di scegliere "Stop".

  5. Sul server che si desidera utilizzare, context-click per scegliere "Clean ...".

    entrare descrizione dell'immagine qui

  6. Fare clic su OK in questa finestra di conferma.

    Schermata della finestra di dialogo che chiede di aggiornare la configurazione del server in base al mutato contesto radice

Ora è possibile eseguire l'applicazione con il nuovo URL "app" come ad esempio:

  

http://localhost:8080/app/

In questo modo al di fuori di Eclipse, sul server di produzione, è ancora più facile -> Rinominare il file di guerra. Esporta il tuo Vaadin applicazione come un file WAR ( File> Esporta> Web> WAR file ). Spostare il file WAR servlet container del server Web come Tomcat. Rinominare il file WAR, in questo caso a app.war . Quando si avvia il servlet container, la maggior parte come ad esempio Tomcat si auto-distribuire l'applicazione, che comprende l'espansione del file WAR in una cartella. In questo caso, dovremmo vedere una cartella denominata App . Si dovrebbe essere a posto. Metti alla prova il tuo URL. Per un dominio come * example.com" questo potrebbe essere:

  

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

programmatori Vaadin toolkit potrebbe essere necessario ricostruire il loro widget di impostare se si utilizza add ons visivi.

Altri suggerimenti

Dopo aver modificato la root di contesto in proprietà del progetto è necessario rimuovere l'applicazione web da Tomcat (usando Aggiungi e Rimuovi ... dal menu contestuale del server), ridistribuire, quindi aggiungere nuovamente l'applicazione e ridistribuire. Ha funzionato per me.

Se siete colpiti avete un'altra scelta: selezionare il server Tomcat in vista Server. Facendo doppio click su quel server (o selezionando Apri nel menu contestuale) porta un editor a più pagine in cui v'è una pagina Moduli. Qui è possibile modificare il contesto radice del modulo (chiamato Path in questa pagina).

Se si esegue Tomcat da Eclipse, non utilizza la configurazione dall'installazione attuale Tomcat. Esso utilizza la configurazione di Tomcat che ha creato e conservato in progetto "Server". Se si visualizza l'area di lavoro di Eclipse, si dovrebbe vedere un progetto denominato "Server". Espandere quel progetto "Server" e ci si imbatte in server.xml. Aprire questo file e scorrere tutta la strada fino in fondo, e si dovrebbe vedere qualcosa di simile: -

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

Qui, si può semplicemente modificare il percorso del contesto del progetto a qualcosa d'altro.

Spero che questo aiuti.

Ho provato la soluzione suggerita da Russ Bateman Qui nel post

http://localhost:8080/Myapp a http://localhost:8080/somepath/Myapp

sbagliando di poco ha funzionato per me, come ho bisogno di avere un file .war * che può contenere la configurazione e non la singola istanza del server che sul mio localmachine.

Riferimento

Per farlo ho bisogno jboss-web.xml posto in 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>

Impostazione del percorso per nulla nei moduli web finestra di modifica Eclipse mi ha permesso di accedere al progetto, senza alcun componente percorso nella URL (ossia ROOT)

E 'possibile raggiungere la finestra di moduli web di modifica premendo F3 se si seleziona Tomcat nella vista "Server" o con un doppio clic su di esso.

Alcuni screenshots:

Apache Tomcat mantiene il percorso del contesto progetto nel percorso server.xml. Per ogni progetto web su Eclipse, c'è tag da lì si può cambiare.
Supponiamo, ci sono due o tre progetti distribuito su server. Per ciascun percorso di un contesto è memorizzato in. Questo tag si trova in file server.xml entro Server creato su Eclipse.

Ho un progetto per lì sul contesto percorso root server è:

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

Questo percorso rappresenta percorso del contesto dell'applicazione web. Cambiando questo percorso, il vostro web percorso del contesto applicazione cambierà.

So che la risposta è stata già accettata. Ma, nel caso in cui chiunque utilizzi Maven vuole ottenere la stessa cosa, basta impostare la NomeFinale nella Maven costruire per qualunque sia il nome che si desidera dare e fare un Maven -> progetto di aggiornamento

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

Se il progetto è Maven, cambiare il "NomeFinale" in pom.xml e aggiornamento del progetto come Maven.This lavorato per me.

In Glassfish è necessario modificare anche il file WEB-INF / GlassFish-web.xml

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

Quindi, quando si fa clic su "Esegui come> Esegui sul server" si aprirà correttamente.

Volevo solo aggiungere che, se non si desidera che il nome dell'applicazione nel contesto radice a tutti, e appena messo "/" (senza virgolette, solo la barra) nel Eclipse -> Impostazioni progetto Web -> Contesto voce principale

Che distribuire il webapp ad appena http: // localhost: 8080 /

Naturalmente, questo causerà problemi con altre webapps si tenta di eseguire sul server, in modo da testa a testa con quella.

Mi ha portato per sempre a pezzo che insieme ... quindi anche se questo post è di 8 anni, speriamo che questo sarà ancora aiutare qualcuno!

Nel progetto java, cartella .settings aperte. c'è individuare il file denominato "org.eclipse.wst.common.component". Modifica tag .

Inoltre è possibile modificare radice contesto in proprietà del progetto

Se si utilizza Eclipse per distribuire l'applicazione. Possiamo usare questo 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>

Ora vai alla tua cartella principale del progetto e aprire richiamo del cmd in quella posizione digitare il seguente comando:

mvn eclipse: eclipse -Dwtpversion = 2.0

Potrebbe essere necessario riavviare Eclipse, o in vista del server eliminare server e creare ancora qua per vedere effetto. Mi chiedo questo esercizio ha senso nella vita reale, ma funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top