distribuire webapp da Eclipse a Tomcat root context

Distribuisco un’applicazione .war di Eclipse aggiungendo il facet “Dynamic Web Module”, quindi facendo clic con il pulsante destro del mouse sul progetto e selezionando “Esegui come -> Esegui sul server”.

Funziona alla grande, ma per impostazione predefinita il progetto è distribuito nel contesto /web di Tomcat, perché il nome del progetto è web . Esiste un modo per distribuire da Eclipse a Tomcat senza cambiare il nome del progetto in ROOT?

Devi andare su Server View .. fai doppio clic su tomcat, si apre una nuova finestra (con 2 tabs). Seleziona quello che dice Modules , la tua applicazione sarà elencata lì (con il percorso di contesto). Puoi cambiare il percorso di contesto da / web a qualsiasi altra cosa da qui.

In alternativa, puoi aprire server.xml per cercare un tag chiamato context. all’interno di questo tag troverai il contextroot come / web .. cambialo.

Fare clic con il tasto destro del mouse sul progetto in Eclipse e selezionare Proprietà-> Impostazioni progetto Web. Cambia il nome del contesto lì.

In alternativa puoi modificarlo nel file .settings / org.eclipse.wst.common.component all’interno del tuo progetto

Nelle impostazioni del progetto Web per il progetto, impostare la root di contesto su “/” . (Senza virgolette)

Nel caso stiate usando apache2 con mod_proxy . Nella mia definizione di host virtuale ho una voce Location per il contesto di root:

   BalancerMember ajp://localhost:18009 route=s1 BalancerMember ajp://localhost:28009 route=s2  # A "Location" entry for hosting static content. Would put mod_expire settings # here  ProxyPass ! #Don't proxy this location ExpiresActive on ExpiresDefault "access plus 1 seconds" ExpiresByType application/javascript "access plus 1 months"  #... # This must be the last "Location" if you are overloading others, otherwise # the others won't load as apache uses the first one listed that matches  ProxyPass balancer://ajpCluster stickysession=JSESSIONID  

Dopo aver configurato un server in eclipse, è ansible configurarlo ulteriormente e aggiungere / rimuovere / modificare qualsiasi modulo (ovvero contesti / applicazioni web) che si desidera ospitare. Dovresti avere una finestra Server che elenca il server (in caso contrario: Finestra> Mostra vista> Server). Fare doppio clic sul server per aprire la pagina di configurazione. Ci sono 2 tabs, ma sono nell’angolo in basso a sinistra. Moduli aperti, tutti i moduli aggiunti verranno elencati. Se si desidera che un modulo sia quello predefinito (quindi se si digita localhost verrà index.jsp server, ad esempio) assicurarsi che il percorso indichi “/”. Il valore predefinito sarà ciò che è nelle proprietà dell’app Web> Impostazioni progetto Web e di solito è il nome del progetto. Se lo imposti lì, non ti lascerà vuoto, quindi usa “/”.

Assicurati di salvare le modifiche di configurazione per il tuo server. Potrebbe anche essere necessario “pubblicarlo” per fare in modo che le modifiche vengano propagate al server attuale.

Un’ultima cosa da controllare è trovare l’installazione del server, aprire conf / server.xml e cercare i tuoi contesti. Puoi anche cambiare il percorso. Nota che path = “” equivale a “/”, tomcat lo renderà l’app ROOT. Si noti inoltre che Eclipse creerà una webapp vuota denominata ROOT alla prima pubblicazione (anche questa sarà in server.xml). È sicuro cancellarlo. Anche se la tua applicazione distribuita avrà il nome del progetto come nome webapp, purché il percorso sia “”, verrà considerato come ROOT predefinito.

Right click the application > Properties > Web Project setings e impostare la root di contesto su ROOT (o su empty – Non l’ho ancora provato, quindi provare entrambi e fammi sapere quale ha funzionato)