Múltiples contextos con el mismo error de ruta al ejecutar el servicio web en Eclipse con Tomcat


130

Este es el error que recibí cuando creé mi primer servicio web Axis2 usando Eclipse. Después de escribir la clase, creé el servicio web con Apache Axis2. Cuando hago clic en el botón de inicio del servidor en eclipse, aparece un mensaje de error:

No se pudo publicar la configuración del servidor para Tomcat v6.0 Server en localhost.
Múltiples contextos tienen una ruta de "/ FirstApache".

FirstApache es el proyecto web dinámico que creé antes. Seleccioné el proyecto web correcto de la parte de configuración en el asistente de servicio web.

¿Cómo puedo arreglar esto?

Respuestas:


276

Busque el server.xmlarchivo y verifique sus <Context>etiquetas, probablemente haya múltiples definiciones para la misma ruta. Elimine los duplicados y debería funcionar para usted.

Mira la respuesta aquí .

Formatee automáticamente el archivo xml ( control+ shift+ f) ya que la segunda <Context>etiqueta puede estar en la misma línea, pero fuera de la ventana gráfica y muy lejos de la visible.


13
Puede encontrar el archivo server.xml en el área de trabajo \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf (cambie tmp0 en caso de que este no sea su servidor predeterminado de eclipse)
Repoker

Recibí este problema después de crear una copia de un proyecto web dinámico en eclipse java ee e intenté ejecutar los JSP en la copia. ¿Cómo soluciono este problema?
Erran Morad

Debe protegerse para evitar otros "gracias" inútiles. Un voto positivo a la respuesta es mejor que un comentario de agradecimiento.
Dwhitz

Gracias, está funcionando, pero estoy confundido ¿por qué ocurre esta duplicación?
Sandip S.

Esta solución aún funciona, estoy usando Tomcat 8.5 en Eclipse V2018-12
Raymund Arthur

70

En STS / Eclipse, vaya a "explorador de proyectos" o "explorador de paquetes" y encontrará una carpeta llamada "servidor". Ábrelo y encontrarás el server.xmlarchivo. Dentro de este archivo, en la parte inferior, encontrará una definición como

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

Es posible que encuentre duplicados de la misma definición que necesitaría eliminar.


1
Agregando la eliminación de servidores agregados, esta línea una vez más automáticamente
Vinayak Shedgeri

Si la aplicación no se inicia incluso después de esto, vaya a la pestaña "Servidores" junto a Consola y elimine todos los módulos ubicados dentro del menú desplegable del nombre del servidor. Vuelva a ejecutar el proyecto después de esto
Sameer Sinha

41

En Eclipse, vaya al proyecto Servidores . Abra el árbol para la versión de Tomcat que está utilizando. Abra el archivo server.xml y verifique sus etiquetas de contexto.


28

En su eclipse IDE en el explorador de proyectos, acceda al server.xml como en:

ingrese la descripción de la imagen aquí

Y elimine las etiquetas de contexto con referencias duplicadas para su proyecto:

ingrese la descripción de la imagen aquí


16

Vaya server.xmly busque la "Context"etiqueta con un nombre de propiedad"docBase" .

Elimine las líneas duplicadas aquí. Luego intente reiniciar el servidor.


12

Vaya al proyecto Servidores en eclipse, en la configuración de su servidor de tiempo de ejecución (en mi caso, Tomcat v7.0 Server en localhost-config) vaya a server.xml archivo luego busque la etiqueta <context>, normalmente encontrará más de una etiqueta de contexto , elimínelos y ejecute su aplicación en el servidor apropiado que funcionará ahora.

en mi caso encontré una etiqueta de contexto duplicada:

<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

En eclipse usando tomcat, solo abre este archivo server.xml y encuentra la etiqueta de contexto y aquí verá que su nombre de contexto es más que uno que simplemente elimina contextos inútiles y reinicia su servidor, funcionará ...

ingrese la descripción de la imagen aquí


5
  1. En las Propiedades de su proyecto, elija "Configuración del proyecto web".
  2. Cambiar la "raíz de contexto".
  3. Limpia tu servidor
  4. ahora puedes reiniciar tu servidor

Excelente solución para desarrolladores que utilizan más de una instancia de la misma aplicación en diferentes ubicaciones en sus estaciones de trabajo. Descubrí que no todas las instalaciones de Eclipse / Tomcat tienen una etiqueta <Context> en su archivo server.xml.
Mindsect Team

5

Eclipse >> explorador de proyectos >> servidores >> server.xml >> etiqueta >> eliminar etiqueta duplicada de su proyecto


3

Simplemente elimine el servidor en Eclipse y agregue el servidor Tomcat nuevamente. que apague el tomcat en el archivo tomcat / bin / shutdown.bat e inicie el servidor en eclipse.


2

Intente eliminar el servidor tomcat existente en la consola del servidor. Si no tiene la consola, puede ir a "Mostrar vista -> servidor", eliminar el servidor haciendo clic derecho sobre él y luego agregar un nuevo servidor.


2

Si está utilizando Tomcat 7 y Eclipse, haga clic en el servidor Tomcat y luego vaya a la pestaña de módulos. Allí encontrará la entrada duplicada. Elimine la entrada y vuelva a implementar la aplicación. Eres bueno para ir ahora.


2

En una nota relacionada, si ha copiado un proyecto o, en cualquier caso, tiene la misma ruta de contexto para 2 proyectos 'activos', debe cambiar la ruta de contexto de uno de ellos, luego limpiar la configuración del servidor Tomcat y luego volver a publicar los servidores

ver esta respuesta más detallada


1

Tuve ese problema antes. Lo resolví expandiendo el árbol de tomcat y borrando la carpeta que está causando el choque. en tu caso es /FirstApache. después de eliminarlo. entonces lo vuelves a ejecutar, deberías poder correr. Si vuelve a ocurrir, bórrelo e intente nuevamente.


0

Elimine el espacio o la línea vacía en server.xml o context.xml al comienzo de su código


0

En mi caso, encontré rutas duplicadas en Servers / Tomcat5.5 en localhost-config / server.xml bajo la etiqueta. Eliminar los duplicados resolvió el problema.


0

Eliminar org.eclipse.wst.server.core y org.eclipse.wst.server.ui de .metadata / .plugins de wrokspace

elimine el servidor de eclipse y luego vuelva a configurar el servidor en eclipse.


0

Este error ocurre cuando copia un proyecto que lo pasa y luego cambia el nombre de ese proyecto.

en tal caso, siga los siguientes pasos.

Paso 1: necesita editar su archivo web.xml. eliminar servlet y servlet-mapping de los proyectos anteriores.

Paso 2: llegó al SERVIDOR -> server.xml -> buscar contexto

Ejemplo: - Contexto docBase = "JSPandServletDemo" ruta = "/ JSPandServletDemo" reloadable = "true" source = "org.eclipse.jst.jee.server: JSPandServletDemo" />

ahora solo necesita cambiar el nombre de ruta a su nombre de proyecto actual.

Buena suerte feliz codificación :)


-1

Si está utilizando STS y su servidor es Pivotal Simplemente haga doble clic en el servidor y vaya a> pestaña Módulos> pantalla Configurar los módulos web en este servidor.> Puede simplemente eliminar módulos y ejecutarlos nuevamente.


-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;
    }

}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.