2010-04-14 19 views
15

Tengo un proyecto de aplicación web maven eclipse que pude hacer clic derecho y 'Ejecutar en el servidor' y que se implementaría en tomcat. Recientemente hice un 'maven -> Actualizar conifguraciones de proyecto' y ahora NO puedo implementar y ejecutar el proyecto como una aplicación web. ¿Alguien ha visto esto antes? La única salida de tomcat es la siguiente: ni siquiera parece que intenta implementar la aplicación.Aplicación web de Eclipse Maven: no se puede ejecutar en el servidor más

Apr 14, 2010 3:58:54 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 
Apr 14, 2010 3:58:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:taac-web' did not find a matching property. 
Apr 14, 2010 3:58:54 PM org.apache.coyote.http11.Http11Protocol init 
INFO: Initializing Coyote HTTP/1.1 on http-8080 
Apr 14, 2010 3:58:54 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 402 ms 
Apr 14, 2010 3:58:54 PM org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
Apr 14, 2010 3:58:54 PM org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24 
Apr 14, 2010 3:58:54 PM org.apache.coyote.http11.Http11Protocol start 
INFO: Starting Coyote HTTP/1.1 on http-8080 
Apr 14, 2010 3:58:54 PM org.apache.jk.common.ChannelSocket init 
INFO: JK: ajp13 listening on /0.0.0.0:8009 
Apr 14, 2010 3:58:54 PM org.apache.jk.server.JkMain start 
INFO: Jk running ID=0 time=0/14 config=null 
Apr 14, 2010 3:58:54 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 247 ms 

El POM de fotografías está ajustado a la guerra, pero después de limpiar el proyecto de recibo actualmente ClassNotFoundExceptions para las bibliotecas que están siendo incluido como Maven Dependencias:

SEVERE: Error configuring application listener of class org.springframework.security.web.session.HttpSessionEventPublisher 
java.lang.ClassNotFoundException: org.springframework.security.web.session.HttpSessionEventPublisher 

Aquí está mi POM:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.cable.wuntee.neto.nse</groupId> 
    <artifactId>taac-web</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>taac-web JEE5 Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.freemarker</groupId> 
     <artifactId>freemarker</artifactId> 
     <version>2.3.16</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-acl</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib</artifactId> 
     <version>2.2</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ldap</groupId> 
     <artifactId>spring-ldap-core</artifactId> 
     <version>1.3.0.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ldap</groupId> 
     <artifactId>spring-ldap</artifactId> 
     <version>1.3.0.RELEASE</version> 
     <type>pom</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-ldap</artifactId> 
     <version>3.0.2.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-ldap</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-cada</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.cable.wuntee.neto.nse</groupId> 
     <artifactId>wuntee.neto.nse-sams</artifactId> 
     <version>2.0-SNAPSHOT</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>3.0.1.RELEASE</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.15</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    </dependencies> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.0.2</version> 
     <configuration> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    <finalName>taac-web</finalName> 
    </build> 
</project> 

Respuesta

2

Tal vez ha cambiado el <packaging> de war a algo más por accidente. ¿Puedes mostrar tu POM?

Puede también confirmar que tiene la Maven WTP Integración para la DAP instalado (esto es improbable, pero tal vez instalada la última versión de M2Eclipse sin este accesorio y de algún modo, las cosas estaban trabajando hasta informado la configuración del proyecto)?

+0

sí, tiene Maven WTP instalado, solo intenté desinstalarlo y volver a instalarlo (sin ayuda). Y, sí, estaba funcionando antes de actualizar la configuración del proyecto ... ver nuevo error/pom en la siguiente publicación – wuntee

+0

también - si empaque el proyecto, copia todo.archivos jar al directorio WEB-INF/libs; si los coloco manualmente allí en el proyecto eclipse funciona bien ... no estoy seguro de por qué WTP no está administrando eso en eclipse ... – wuntee

+0

@wuntee ¿Qué cambió antes para "actualizar la configuración del proyecto". ¿Cambiaste algunas versiones? –

1

Ninguno de estos ayudó, terminé simplemente deshabilitando la resolución de espacio de trabajo y tratando de instalar las dependencias de espacio de trabajo cuando estaban desactualizadas.

2

Tenía esos extraños errores de compilación que tenía en el proyecto WAR. Por alguna razón, la ruta de clase se modificó de alguna manera e ignoró otros proyectos en mi espacio de trabajo de los cuales dependía la GUERRA.

La única solución que finalmente funcionó fue borrar mi espacio de trabajo, y en cada proyecto eliminar .classpath, .project y .settings. A partir de un nuevo espacio de trabajo lo resolvió.

Encontré un bug mencionando algo similar a esto en el rastreador de errores de Wid de Maven, pero no obtuve suficientes votos para solucionarlo, supongo.

4

Tres posibles soluciones. He usado los tres dependiendo de cómo salió mal.

  1. que resolverse mediante la eliminación de las dependencias de seguridad de primavera de mi POM (sólo tengo spring-security-taglibs y spring-security-config que tiran de todo lo demás que necesito), salvó el POM, deja Maven hacer es cosas y luego las volvió a agregar, dejó que Maven volviera a tener las dependencias y reinició el servidor en Eclipse. Cuando el problema está sucediendo, parece que el directorio de dependencias de Maven en el proyecto Eclipse no tiene el artefacto spring-security-web (que contiene org.springframework.security.web.session.HttpSessionEventPublisher). Para mí, solo sucede cuando inicio Eclipse después de reiniciar mi PC, así que supongo que es Windows (Vista) y el plugin Eclipse M2Eclipse no funciona bien en el bloqueo de archivos o algo así.

  2. Solución alternativa (el problema volvió a ocurrir y las soluciones anteriores no funcionarían). Esta vez, eliminé el directorio org/springframework de mi repositorio maven local (el de la ventana de Eclipse-> Preferencias-> Maven-> Configuraciones de usuario). Luego, actualice las dependencias de Maven y wahey aquí vamos de nuevo.

  3. Si ha realizado "Maven-> Actualizar configuración del proyecto" y esto sucede, es posible que su configuración de "Implementación de implementación" no incluya las dependencias de Maven. Vaya a project-> properties-> deployment assembly. Comprueba que Maven Dependencies esté ahí y que tenga una ruta de despliegue de/WEB-INF/lib. De lo contrario, haga clic en Agregar y encuéntrelo en la opción de compilación Java. Si no está allí, tu ruta de compilación probablemente también esté dañada (aunque eso nunca me ha pasado).

0

Solución alternativa (el problema volvió a ocurrir y las soluciones anteriores no funcionarían).

Esta vez, eliminé el directorio org/springframework de mi repositorio maven local (el de la ventana Eclipse-> Preferencias-> Maven-> Configuración de usuario). Luego, actualice las dependencias de Maven y wahey aquí vamos de nuevo.

2

En las propiedades del proyecto, vaya a "facetas", presione convertir algo a algo, habilite el módulo web dinámico y presione aplicar.

15

he encontrado la respuesta en

Tomcat & Spring Web - Class Not Found Exception org.springframework.web.context.ContextLoaderListener

que necesita para empujar las dependencias de Maven al servidor cuando el proyecto se publica a ella.

Haga clic derecho en su proyecto web en el Explorador de proyectos -> seleccione 'Propiedades'. En Propiedades del proyecto, seleccione 'Ensamblaje de despliegue'.

La página de propiedades de Implementación de despliegue muestra el contenido que se publicará como un artefacto ensamblado por Eclipse en el servidor. Debes decirle a Eclipse que quieres que se publiquen todas tus dependencias de Maven también.

Para hacer eso, haga clic en el botón 'Agregar', luego seleccione 'Entradas de ruta de compilación de Java'. Haga clic en Siguiente y seleccione Dependencias de Maven. Esto va a publicar los archivos de la dependencia JAR Maven a la carpeta lib cuando Eclipse publica su proyecto al servidor WST

+0

oh dios gracias! ¡Me salvaste horas! – ianaz

0

tuve el mismo problema hoy en día, para mí que ayuda a instalar Apache en Eclipse una reconstrucción/refrescante del proyecto después

0

De acuerdo, también he luchado un poco con esto. No creo que haya una respuesta definitiva y por un tiempo simplemente eliminaría el proyecto y lo volvería a importar, ya que eso funcionaría todo el tiempo.

Hoy he encontrado que comenzó a funcionar de nuevo después de ejecutar un maven clean en el proyecto (mvn clean desde la línea de comandos, por ejemplo). Pruébalo para ver si eso funciona para ti.

Esto NO es equivalente al eclipse limpio, ya que solo borra algunas carpetas seleccionadas del directorio de destino, no todo.

0

me he encontrado con este problema de vez en cuando, soluciones rápidas son:

  • proyecto clic derecho -> Maven -> Proyecto de Actualización ...
  • Eclipse Servidores pestaña: detener el servidor clic derecho Tomcat v # -> Limpiar ... -> OK

Éstos son los pasos para solucionar problemas que utilizo para ver lo que Eclipse es realidad el despliegue cuando se ejecuta Tomcat. Esto es actual como de Marte y Neón.(Estos pasos se supone que ha ejecutado su proyecto al menos una vez usando "Ejecutar en servidor ...")

  1. Tire hacia arriba de la configuración para ejecutar su proyecto en Tomcat:
    proyecto clic derecho -> Ejecutar como -> Ejecutar configuraciones ...
  2. Vaya a la pestaña de argumentos y busque en los argumentos de VM, verá algo como esto: Run As Server Settings Arguments tab with -Dwtp.deploy Busque el valor de -Dwtp.deploy. Para mí fue

D:\code\workspaceNeon\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps

  1. ese directorio contiene la estructura de despliegue aplicación de web estándar. Abra ese directorio en su explorador de archivos del sistema operativo y examine los contenidos. Cuando miré en mi WEB-INF/lib, vi la mayoría de mis dependencias que faltaban
  2. Asegúrese de salir de ese directorio cuando haya terminado, de lo contrario eclipse obtener errores que tratan de modificar/actualizar

Ahora es tiempo para arreglar el problema Veamos lo que Eclipse está supone que se despliegue:

  1. Abrir la configuración de la Asamblea de despliegue para su proyecto:

    proyecto clic derecho -> Propiedades -> Asamblea despliegue Deployment Assembly with Maven Dependencies

    1. Dependencias Maven es el elemento crítico anterior. Si esto no se encuentra, cerca de la ventana y hacer una actualización del experto: proyecto clic derecho -> Maven -> Actualización del Proyecto ...

    2. Ahora que hemos hecho cambios, vamos a limpiar el servidor de trabajo directorio manualmente y republicar. Esto no siempre es necesario, pero es una buena manera de asegurarse de que todo está en sincronía entre lo que se muestra en la Asamblea de despliegue y lo que es en realidad desplegado:

      • en Eclipse vaya a la pestaña Servidores. Si no lo ve en su diseño de eclipse actual, haga Menú Ventana -> Mostrar vista -> Otro ... -> busque "Servidores" Eclipse servers tab
      • Haga clic derecho en Tomcat v # ... y seleccione "Limpiar" ... ". Haga clic en OK en el cuadro de diálogo de confirmación Eclipse server clean confirm dialog
      • Haga clic derecho en Tomcat v # ... y seleccione "Publicar"
      • iniciar el servidor y probar. Si todavía tiene problemas, vuelva al directorio wtp.deploy e inspeccionar para ver lo que está mal

Buena suerte!

Cuestiones relacionadas