Come modificare la root di contesto di un progetto web dinamico in Eclipse?

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

http://localhost:8080/MyDynamicWebApp 

Ora voglio cambiare l’URL di accesso a

 http://localhost:8080/app 

Ho modificato la root di contesto dal progetto “Proprietà | Impostazioni progetto Web | Root contestuale”.

Ma non sta funzionando. L’app Web ha ancora l’URL di accesso come prima. Ho ridistribuito l’applicazione su Tomcat, riavviato Tomcat e ho fatto tutto ciò che dovrebbe essere fatto, ma l’URL di accesso è lo stesso di prima.

Ho trovato che non c’erano file server.xml allegati al file WAR . Quindi, in che modo Tomcat sta determinando che la root di contesto della mia app Web è /MyDynamicWebApp e mi consente di accedere all’applicazione tramite tale URL?

Sono sicuro che ti sei già trasferito, ma ho pensato di rispondere comunque.

Alcune di queste risposte offrono soluzioni alternative. Ciò che in realtà deve accadere è che pulisci e ripubblichi il tuo progetto per “triggersre” il nuovo URI. Ciò avviene facendo clic con il pulsante destro del mouse sul server (nella vista Server) e scegliendo Pulisci. Quindi si avvia (o si riavvia). La maggior parte delle altre risposte qui suggerisce di fare cose che in effetti lo realizzano.

Il file che sta cambiando è workspace / .metadata / .plugins / org.eclipse.wst.server.core / publish / publish.dat a meno che, cioè, tu abbia più di un server nell’area di lavoro, nel qual caso sarà publishN.dat sullo stesso percorso.

Spero che questo aiuti qualcuno.


Non sono sicuro che si tratti di un’etichetta corretta o no – sto modificando questa risposta per dare istruzioni precise per Eclipse Indigo.

  1. Nelle proprietà del progetto, selezionare “Impostazioni progetto Web”.

  2. Cambia “root del contesto” in “app”.

    schermata delle proprietà del progetto Eclipse Impostazioni del progetto Web

  3. Scegli Finestra> Mostra vista> Server.

  4. Arrestare il server facendo clic sulla casella quadrata rossa (tooltip “Stop the server”) o facendo clic con il pulsante destro del mouse sull’elenco dei server per scegliere “Stop”.

  5. Sul server che si desidera utilizzare, fare clic con il pulsante destro del mouse per scegliere “Pulisci …”.

    inserisci la descrizione dell'immagine qui

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

    Screenshot della finestra di dialogo che chiede di aggiornare la configurazione del server in modo che corrisponda alla root del contesto modificata

Ora puoi eseguire la tua app con il nuovo URL “app” come:

http://localhost:8080/app/

Fare questo al di fuori di Eclipse, sul tuo server di produzione, è ancora più facile -> Rinomina il file di guerra. Esporta la tua app Vaadin come file WAR (File> Esporta> Web> File WAR). Spostare il file WAR sul contenitore servlet del server Web come Tomcat. Rinominare il file WAR, in questo caso su “app.war”. Quando avvii il contenitore servlet, la maggior parte di Tomcat eseguirà la distribuzione automatica dell’app, che include l’espansione del file war in una cartella. In questo caso, dovremmo vedere una cartella denominata “app”. Dovresti essere bravo ad andare. Metti alla prova il tuo URL. Per un dominio come “esempio.com” questo sarebbe:

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

I programmatori di toolkit di Vaadin potrebbero dover ribuild il set di widget se utilizzano componenti visivi.

Dopo aver modificato la root di contesto nelle proprietà del progetto, è necessario rimuovere la propria applicazione Web da Tomcat (utilizzando Aggiungi e rimuovi … dal menu di scelta rapida del server), ridistribuire, quindi aggiungere nuovamente l’applicazione e ridistribuire. Ha funzionato per me.

Se sei colpito hai un’altra scelta: seleziona il server Tomcat nella vista Server. Fare doppio clic su quel server (o selezionare Apri nel menu di scelta rapida) porta un editor multipagina in cui è presente una pagina Moduli. Qui puoi cambiare il contesto di root del tuo modulo (chiamato Path in questa pagina).

Se esegui Tomcat da Eclipse, non utilizza la configurazione dall’installazione di Tomcat effettiva. Usa la configurazione di Tomcat che ha creato e memorizzato nel progetto “Server”. Se si visualizza l’area di lavoro Eclipse, si dovrebbe vedere un progetto chiamato “Server”. Espandi il progetto “Servers” e incontrerai server.xml. Apri questo file e scorri fino in fondo, e dovresti vedere qualcosa del genere: –

  

Qui, puoi semplicemente cambiare il tuo percorso di contesto del progetto in qualcos’altro.

Spero che questo ti aiuti.

Ho provato la soluzione suggerita da Russ Bateman qui nel post

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

Ma non ha funzionato per me perché avevo bisogno di avere un file * .war che possa contenere la configurazione e non l’istanza individuale del server sulla mia macchina locale.

Riferimento

Per farlo ho bisogno di jboss-web.xml inserito in WEB-INF

     somepath/Myapp  

Apache tomcat mantiene il percorso di contesto del progetto nel percorso server.xml. Per ogni progetto web su Eclipse, c’è un tag da lì puoi cambiarlo.
Supponiamo che ci siano due o tre progetti distribuiti sul server. Per ogni percorso di contesto è memorizzato in. Questo tag si trova sul file server.xml all’interno del server creato su eclipse.

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

  

Questo percorso rappresenta il percorso di contesto della tua applicazione web. Modificando questo percorso, il percorso di contesto dell’app Web cambierà.

So che la risposta è già stata accettata. Ma, nel caso in cui qualcuno che usa Maven voglia ottenere la stessa cosa, basta impostare il FinalName nel build di Maven con qualunque nome si voglia dare e fare un progetto di aggiornamento -> update

     

L’impostazione del percorso verso il nulla nella finestra di dialogo di modifica dei moduli Web di Eclipse mi ha consentito di accedere al progetto senza alcun componente di percorso nell’URL (ad es. ROOT)

È ansible raggiungere la finestra di dialogo di modifica dei moduli Web premendo F3 se si seleziona Tomcat nella vista “Server” o facendo doppio clic su di esso.

Alcuni screenshot:

Se il progetto è esperto, cambia il “finalName” in pom.xml e Aggiorna progetto come Maven. Questo ha funzionato per me.

In Glassfish devi anche modificare il file WEB-INF / glassfish-web.xml

  /myapp  

Quindi quando fai clic su “Esegui come> Esegui sul server” si aprirà correttamente.

Nel progetto java, apri la cartella .settings. lì individuare il file “org.eclipse.wst.common.component”. Cambia tag .

Inoltre, è ansible modificare la root di contesto nelle proprietà del progetto

Se si utilizza eclipse per distribuire l’applicazione. Possiamo usare questo plugin Maven

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

ora vai alla cartella principale del progetto e apri il prompt cmd in quella posizione digita questo comando:

mvn eclipse: eclipse -Dwtpversion = 2.0

Potrebbe essere necessario riavviare eclipse, o in server view delete server e creare agian per vedere l’effetto. Mi chiedo che questo esercizio abbia senso nella vita reale, ma funziona.