Più contesti con lo stesso errore di percorso durante l'esecuzione del servizio Web in Eclipse utilizzando Tomcat


130

Questo è l'errore che ho riscontrato quando ho creato il mio primo servizio web Axis2 usando Eclipse. Dopo aver scritto la lezione, ho creato il servizio Web con Apache Axis2. Quando faccio clic sul pulsante Avvia server in Eclipse, viene visualizzato un messaggio di errore:

Impossibile pubblicare la configurazione del server per Tomcat v6.0 Server su localhost.
Contesti multipli hanno un percorso di "/ FirstApache".

FirstApache è il progetto Web dinamico che ho creato prima. Ho selezionato il progetto Web corretto dalla parte di configurazione nella procedura guidata del servizio Web.

Come posso risolvere questo problema?

Risposte:


276

Cerca il server.xmlfile e controlla i <Context>tag, probabilmente ci sono più definizioni per lo stesso percorso. Rimuovi i duplicati e dovrebbe funzionare per te.

Controlla la risposta qui .

Formatta automaticamente il file xml ( control+ shift+ f) poiché il secondo <Context>tag può trovarsi sulla stessa riga, ma al di fuori della finestra e molto lontano da quello visibile.


13
Puoi trovare il file server.xml nello spazio di lavoro \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf (cambia tmp0 nel caso in cui questo non sia il tuo server predefinito eclipse)
Repoker

Ho riscontrato questo problema dopo aver creato una copia di un progetto Web dinamico in eclipse java ee e ho invece provato a eseguire i JSP nella copia. Come posso risolvere questo problema?
Erran Morad,

Dovrebbe essere protetto per evitare altri "grazie" inutili. Un voto positivo alla risposta è meglio di un commento di ringraziamento.
Dwhitz,

Grazie, funziona, ma sono confuso perché si verifica questa duplicazione?
Sandip S.

Questa soluzione funziona ancora, sto usando Tomcat 8.5 su Eclipse V2018-12
Raymund Arthur

70

In STS / Eclipse vai su "project explorer" o "package explorer" e c'è una cartella chiamata "server". Aprilo e troverai il server.xmlfile. All'interno di questo file in basso trovi una definizione come

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

Potresti trovare duplicati della stessa definizione che dovresti rimuovere.


1
Aggiunta dell'eliminazione dei server aggiunti, questa riga ancora una volta automaticamente
Vinayak Shedgeri,

Se l'app non si avvia nemmeno dopo, vai alla scheda "Server" accanto a Console e rimuovi tutti i moduli situati nel menu a discesa del nome del server. Eseguire nuovamente il progetto dopo questo
Sameer Sinha,

41

In Eclipse, vai al progetto Server . Apri l'albero per la versione Tomcat che stai utilizzando. Apri file server.xml e verifica i tag di contesto.


28

Nel tuo IDE di eclissi su Project Explorer accedi al server.xml come in:

inserisci qui la descrizione dell'immagine

E rimuovi i tag di contesto con riferimenti duplicati per il tuo progetto:

inserisci qui la descrizione dell'immagine


16

Vai a server.xmle cerca "Context"tag con un nome di proprietà "docBase".

Rimuovi qui le linee duplicate. Quindi provare a riavviare il server.


12

Vai al progetto Server in eclipse, sotto la configurazione del tuo server runtime (nel mio caso Server Tomcat v7.0 su localhost-config) vai al file server.xml quindi cerca il tag <context>, normalmente troverai più di un tag di contesto , eliminali ed esegui l'applicazione nel server appropriato che funzionerà ora.

nel mio caso ho trovato un tag di contesto duplicato:

<Context docBase="my-project" path="/my-project" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/&gt;&lt;Context docBase="my-project" path="/smartphone-selfcare" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/></Host>

10

In eclipse usando tomcat basta aprire questo file server.xml e trovare il tag di contesto e qui vedi che il tuo nome di contesto è più di uno che elimini semplicemente contesti inutili e riavvia il tuo server funzionerà ....

inserisci qui la descrizione dell'immagine


5
  1. Nelle proprietà del progetto, selezionare "Impostazioni progetto Web".
  2. Cambia "Contesto radice".
  3. Pulisci il tuo server
  4. ora puoi riavviare il tuo server

Ottima soluzione per gli sviluppatori che utilizzano più di un'istanza della stessa applicazione in posizioni diverse sulle loro stazioni di lavoro. Ho scoperto che non tutte le installazioni di Eclipse / Tomcat hanno un tag <Context> nel loro file server.xml.
Mindsect Team

5

Eclipse >> project explorer >> server >> server.xml >> tag >> rimuove il tag duplicato dal progetto


3

Basta rimuovere il server in Eclipse e aggiungere nuovamente il server Tomcat. quindi arrestare tomcat nel file tomcat / bin / shutdown.bat e avviare il server in eclipse.


2

Prova a eliminare il server Tomcat esistente nella console del server. Se non hai la console, puoi andare su "Mostra vista -> server", eliminare il server facendo clic con il tasto destro su di esso, quindi aggiungere un nuovo server.


2

Se stai utilizzando Tomcat 7 ed Eclipse, fai clic sul server Tomcat e vai alla scheda dei moduli. Lì troverai la voce duplicata. Rimuovere sia la voce che ridistribuire l'applicazione. Sei bravo ad andare ora.


2

In una nota correlata, se hai copiato un progetto o comunque, hai lo stesso percorso di contesto per 2 progetti 'attivi', devi cambiare il percorso di contesto di uno di essi, quindi pulire le impostazioni del server Tomcat, quindi ripubblicare i server

vedere questa risposta più dettagliata


1

Ho avuto quel problema prima. Ho appena risolto espandendo l'albero tomcat ed eliminando la cartella che sta causando lo scontro. nel tuo caso è /FirstApache. dopo averlo eliminato. quindi rieseguirlo, dovresti essere in grado di eseguire. Se succede di nuovo, eliminalo e riprova.


0

Rimuovere lo spazio o la riga vuota in server.xml o context.xml all'inizio del codice


0

Nel mio caso ho trovato percorsi duplicati in Server / Tomcat5.5 su localhost-config / server.xml sotto il tag. La rimozione dei duplicati ha risolto il problema.


0

Elimina org.eclipse.wst.server.core e org.eclipse.wst.server.ui da .metadata / .plugins di wrokspace

elimina il server da eclipse quindi riconfigura il server in eclipse.


0

Questo errore si verifica quando si copia un progetto piuttosto che passarlo e quindi si modifica il nome di quel progetto.

in tal caso, attenersi alla seguente procedura.

Passaggio 1: è necessario modificare il file web.xml. rimuovere servlet e servlet-mapping dei progetti precedenti.

Passaggio 2: accedere a SERVER -> server.xml -> trova contesto

Esempio: - Context docBase = "JSPandServletDemo" path = "/ JSPandServletDemo" = "true" source = "org.eclipse.jst.jee.server: JSPandServletDemo" />

ora devi solo cambiare il percorso con il nome del tuo progetto attuale.

Buona fortuna Happy Coding :)


-1

Se stai usando STS e il tuo server è Pivotal Basta fare doppio clic sul server e vai su> scheda Moduli> display Configura i Moduli Web su questo server.> Puoi semplicemente rimuovere i moduli ed eseguirli di nuovo.


-1
 //Trying to do more than one thing to the object in the same context, 
//the solution is to work on single context objects

public class SingletonContext<TContext>
    where TContext: DbContext,new()
{
    private static TContext _context;

    private SingletonContext()
    {

    }
    public static TContext GetInstance()
    {
        if (_context == null)
        {
            _context = new TContext();
        }
        return _context;
    }

}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.