2010-04-07 16 views
15

Al tratar de poner en marcha un proyecto Web desde dentro de Eclipse me sale:ClassNotFoundException cuando se ejecuta un proyecto + Maven2 primavera en Tomcat 6 desde dentro de Eclipse 3.5


SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener 
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3877) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:516) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:583) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 

proyecto comenzó a fallar cuando me pasa a Fedora 12 x64. El proyecto funcionó en WinXP con la misma configuración.

googlear alrededor me ha encontrado ninguna publicación alegando que va a Propiedades del proyecto -> Java EE dependencias del módulo y comprobando el cuadro Dependencias Maven corrige el problema. Lamentablemente no funcionó para mí.

Estoy usando Spring 2.5.6, Maven2, Eclipse 3.5 (con el plugin m2e 0.10.0), Tomcat 6 y Java 6 ejecutándose en Fedora 12 x64.

¿Alguien ha visto este problema?

En caso de que ayuda aquí está mi archivo .classpath


<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" output="target/classes" path="src/main/java"/> 
    <classpathentry kind="src" output="target/classes" path="target/generated-sources/gpb"/> 
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> 
    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 

    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> 
     <attributes> 
      <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
     </attributes> 
    </classpathentry> 
    <classpathentry kind="con" path="org.eclipse.iam.jdt.core.mavenClasspathContainer"> 
     <attributes> 
      <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
     </attributes> 
    </classpathentry> 
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> 
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> 
    <classpathentry kind="output" path="target/classes"/> 
</classpath> 

Actualización: no tengo problemas de cualquier edificio o ejecutar el proyecto fuera de Eclipse.

+0

Solo una suposición: ¿podría ser debido a org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER y org.eclipse.iam.jdt.core.mavenClasspathContainer conflicto de alguna manera? –

Respuesta

19

Parece que tiene cosas Eclipse IAM y M2Eclipse en su .classpath. Haría un poco de limpieza:

  • Use solo uno de estos complementos (sugiero usar M2Eclipse).
  • Elimine su proyecto del espacio de trabajo de Eclipse, elimine .classpath y .project e Importe el proyecto como proyecto de Maven nuevamente.

Actualización: para conseguir el apoyo WTP con M2Eclipse, es necesario instalar el Maven Integration para WTP desde el sitio de actualización Extras m2eclipse: http://download.eclipse.org/m2e-wtp/releases/ como se ilustra a continuación:

enter image description here

+0

@pascalthivent, Parece que estaba usando Eclipse IAM antes del cambio sin darme cuenta. De todos modos, hizo lo que sugirió, pero ahora Eclipse no ve el proyecto como una aplicación web. Así que ahora ni siquiera tengo la opción * Ejecutar como -> Ejecutar en el servidor *. –

+0

@Elliot Eso se debe a que no instaló la Integración de Maven para WTP cuando instaló M2Eclipse. Actualizaré mi respuesta para cubrir esto. –

+0

Gracias Pascal, esa última información resolvió mi problema. Eliminé el proyecto, instalé la integración para WTP e importé el proyecto nuevamente. El único detalle fue que tuve que desactivar el plugin Maven, construir el proyecto en una terminal y luego habilitar el plugin de nuevo. Todo está funcionando sin problemas ahora. Un pensamiento, me parece que Eclipse está realmente rezagado respecto de NetBeans con el apoyo de Maven. Me siento más productivo en Eclipse, pero no puedo perder el tiempo con cosas como esta en mi lugar de trabajo. Creo que la imagen de Eclipse está empañada por el estado actual de los complementos de Maven. –

9

I tenía el mismo síntoma con una causa diferente. Tuve que editar mi archivo .classpath. La entrada de maven:

<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> 
    <attributes> 
     <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> 
    </attributes> 
</classpathentry> 

... faltaba la etiqueta de atributos que se muestra aquí. Cuando agregué la etiqueta de atributos, el problema desapareció. Tengo mucha curiosidad de cómo configurar eso en el eclipse ui.

+0

sí ... que definitivamente cambió el mensaje de error por lo que algo relacionado con la aplicación ... Creo que fue un movimiento en la dirección correcta – Newtopian

+1

ah gracias esto funcionó para mí, acaba de agregar y está bien ahora – tomasb

1

De vez en cuando, con el rostro mismo problema.

Por alguna extraña razón, este problema podría ser fijado de esta manera

1) Haga clic derecho del ratón sobre Maven proyecto -> Desactivar Maven Dependencias

2) Haga clic derecho del ratón en Maven proyecto -> Habilitar Maven Dependencias

+1

No tengo tales opciones en Eclipse 3.7 .2, ¿quisiste decir 'Deshabilitar Maven Nature'? – Betlista

Cuestiones relacionadas