No se puede "Ejecutar en el servidor" una aplicación web desde Eclipse


Al ejecutar mi proyecto de WebApp desde Eclipse la mayoría de las veces se ejecuta correctamente. Pero si por error detener el servidor, lo mato en la vista" Consola "en lugar de" Detener "el servidor desde la vista" Servidores". Mientras se ejecuta proyecto limpio me sale esto

java.lang.NullPointerException
at org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities.getDefaultProjectArchiveName(VirtualReferenceUtilities.java:81)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getJavaClasspathReferences(J2EEModuleVirtualComponent.java:332)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getNonManifestRefs(J2EEModuleVirtualComponent.java:236)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:160)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:208)
at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.java:201)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.hasConsumableReferences(SingleRootUtil.java:217)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.validateSingleRoot(SingleRootUtil.java:165)
at org.eclipse.jst.common.internal.modulecore.SingleRootUtil.isSingleRoot(SingleRootUtil.java:93)
at org.eclipse.jst.common.internal.modulecore.SingleRootExportParticipant.canOptimize(SingleRootExportParticipant.java:84)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.canOptimize(FlatVirtualComponent.java:136)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.cacheResources(FlatVirtualComponent.java:118)
at org.eclipse.wst.common.componentcore.internal.flat.FlatVirtualComponent.fetchResources(FlatVirtualComponent.java:101)
at org.eclipse.wst.web.internal.deployables.FlatComponentDeployable.members(FlatComponentDeployable.java:147)
at org.eclipse.wst.server.core.internal.ModulePublishInfo.hasDelta(ModulePublishInfo.java:418)
at org.eclipse.wst.server.core.internal.ServerPublishInfo.hasDelta(ServerPublishInfo.java:443)
at org.eclipse.wst.server.core.internal.Server.hasPublishedResourceDelta(Server.java:1539)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob$1.visit(Server.java:214)
at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:2929)
at org.eclipse.wst.server.core.internal.Server.visit(Server.java:2913)
at org.eclipse.wst.server.core.internal.Server$ResourceChangeJob.run(Server.java:225)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Y mientras lanzo consigo esto

SEVERE: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Webapp does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
    at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4319)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)

Por favor, ayuda a recuperarte de esto.

Author: Ram, 2011-07-15

15 answers

Tuve dificultades para hacer que funcionara, pero gracias a "Alexander Pogrebnyak" (ver desplegando un archivo war en WTP(Eclipse) tomcat server) pude hacer que los Proyectos Web de Eclipse funcionaran con Maven a través de m2e:

Antes de comenzar, debo decir que soy un hombre muy sospechoso, por lo que siempre comienzo limpiando todos mis proyectos usando "Eclipse > Proyecto > Limpiar..."menu (sin la opción" start a build immediately " marcada). Tampoco tengo la opción" Eclipse > Proyecto > Construir automáticamente" comprobar.

Por cierto, supongo que ya tendrás tu plugin m2e instalado, o lo que voy a decir no tiene sentido...

Bueno, comencemos:

Primero, adiós configuración del servidor:

1) Si tiene algún proyecto en una configuración de servidor anterior, elimínelo (haga clic derecho en el servidor y seleccione la opción "Agregar y quitar")

2) Limpie su directorio de trabajo del servidor (haga clic derecho en el servidor y seleccione " Trabajo del servidor Tomcat Directorio")

3) Limpie las "sobras" compiladas (haga clic derecho en el servidor y seleccione "Limpiar")

4) Elimine la configuración de su servidor de la pestaña "Servidores"

5) Elimine completamente su proyecto/carpeta" Servidores " (se muestra en la pestaña "Explorador de proyectos")

6) BONUS: También elimino mi entorno de tiempo de ejecución del servidor ("Eclipse > Ventana > Preferencias > Servidor > Entornos de tiempo de ejecución")

Segundo," Maven clean "(si su proyecto web tiene una"naturaleza Maven"):

1) Haga clic derecho en su proyecto web

2) "Menú emergente > Ejecutar como > Maven clean"

Esto debería borrar la carpeta de destino

En tercer lugar, Instal m2e WTP integración (sí! No viene como "predeterminado". Un día entero para averiguarlo):

1) Abre la opción Maven "Discovery" (Eclipse > Windows > Preferencias > Maven > Discovery)

2) Presione el botón "Abrir catálogo" (debería aparecer una ventana" m2e Marketplace")

3) Desplácese hacia abajo hasta que encuentre la opción "Integración WTP", luego" check " it!

4) Presione"Finish"

5) Aparecerá un" plugin screen like". "Siguiente", "Siguiente", "de Acuerdo", bla, bla, bla...

Cuarto, deja Eclipse y vuelve a ejecutarlo:

1) Si no se le pide que restar Eclipse (que me cuesta creer que no lo hará), reinicie usted mismo!

Quinto, la reintegración maven:

1) Agregue Maven nature al proyecto (Haga clic derecho en su proyecto web, "Menú emergente > Configurar > Convertir a Proyecto Maven")

2) Actualiza tu configuración maven (Sí, sí, sospechoso, lo sé). Haga clic derecho en su proyecto web de nuevo, ahora con una "M" en su icono ("Menú emergente > Maven > Actualizar proyecto")

3) Ejecute una instalación maven (Haga clic derecho en su proyecto web, "Menú emergente > Ejecutar como > Instalación Maven")

4) Construye tu proyecto ("Eclipse > Proyecto > Construir todo")

Sexto, ponlo todo a trabajar:

1) Implemente y ejecute su aplicación web (haga clic con el botón derecho su proyecto web,"Menú emergente > Ejecutar como > Ejecutar en el servidor")

2) Se le pedirá que cree otra configuración de servidor. Creará el proyecto/carpeta "Servidores" de nuevo, pero así es como es.

¡Eso es!!! Tengo que admitir, una vez que ejecuté el servidor, no funcionó, pero esta vez (no sé por qué) las bibliotecas "Log4J" no se pudieron encontrar. Después de un "project clean" + "maven clean" y un "maven install" + "project build", otro mensaje indicando que mi clase Servlet no pudo ser encontrado. Una vez más, ejecuté un "project clean" + "maven clean" y un "maven install" + "project build" y "voila"!!! Funcionó (Y es por eso que soy tan sospechoso).

Estaba empezando a preocuparme con este nuevo doble Juno + m2e... Nunca tuve este tipo de problema con Índigo o Ganímedes... Pero supongo que puedo confiar en Eclipse de nuevo (¿puedo?)

 39
Author: Alejo Ceballos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-23 02:47:32

¡No hagas esas locas soluciones cósmicas !!

Esto funciona bien:

Añadir a su".proyecto " archivo (oculto) estas líneas:

 <natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
  </natures>

Disfrute !

¿Por qué? si revisas ese directorio que no existe, bueno, que "../.metadata/blah/blah/tmp0/wtpwebapps/YOURPROJECT/" está VACÍO: entonces tu build no está creando la GUERRA... !!! Porque maven plugin isnt comprensión QUE TIENE QUE !

Encontré esto después de comparar dos .archivos de proyectos de diferentes proyectos de implementación / no implementación...

Esperanza ayudé !

 7
Author: user1995400,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-21 03:48:52

He eliminado la "carpeta de problemas" .metadatos.plugins\org.eclipsar.wst.servidor.core \ tmp0 \ y ahora funciona:)

 3
Author: Олег Всильдеревьев,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-29 17:42:01

Tengo exactamente el mismo problema y la excepción exacta, pero resolví el problema simplemente especificando el tipo de paquete de POM a war como " war "y haga clic derecho en el proyecto y seleccione 'Maven > Actualizar Configuración del proyecto' , luego vuelva a implementar ese módulo web en el servidor tomcat, ¡eso es todo!

 3
Author: Bob Yang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-11 03:46:56

Simplemente haga maven -> Actualizar la configuración del proyecto y limpiar/compilar desde su eclipse. Se cargará el proyecto.

 1
Author: arviarya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-29 06:03:51

Sufrí de este problema, pero la causa era diferente. El problema surgió de wrong server name([Project Name] != [Server Name]). Pensé que podría averiguar por recrear el servidor.

Este problema se puede resolver siguiendo los siguientes pasos:

  1. Eliminar servidor : haga clic derecho en [Severs] y elimine el servidor.
  2. Eliminar Servidor : haga clic derecho en [Project Explorer] y elimine el servidor(que creó).
  3. Proyecto limpio: menú[Project -> Clean]
  4. Crear servidor : haga clic derecho en [Severs] y nuevo servidor.
  5. Editar servidor.xml: Edita server.xml para tu servidor web.
  6. Agregar servidor : haga clic derecho en [Severs] y elimine el servidor.
 1
Author: Halu Kim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-10 04:36:14

Estaba bastante desconcertado por el problema porque tenía otra dependencia jar trabajando antes de que ocurriera el problema. Estoy usando Eclipse Luna que ya tenía integración m2e y ninguna de las soluciones anteriores funcionó para mí.

El problema comenzó cuando se agregó una nueva dependencia jar a un proyecto maven war, pero aún funcionó bien cuando se comentó en el pom. Afortunadamente pude comparar ambos proyectos y, finalmente, el problema se relacionó con una faceta de proyecto faltante en el nuevo proyecto jar: Módulo de Utilidad.

  1. Botón derecho del proyecto: Facetas del proyecto
  2. Marque "Utility Module" y guarde
  3. Elimine la aplicación de tomcat y publíquela de nuevo.
 1
Author: Luis Diaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-23 07:53:52

Compruebe Tomcat doc para la base del documento xyz no existe o no es un directorio legible:

La base del documento no existe o no es un directorio legible especificado por el parámetro war debe identificar un directorio en este servidor que contiene la versión "descomprimida" de una aplicación web, o la URL absoluta de un archivo de archivo de aplicación web (WAR) que contiene esta aplicación. Corrija el valor especificado por el parámetro war.

¿Puedes hacer manualmente " Limpiar..."y luego" Publicar " (desde el menú contextual en Tomcat en la vista de servidores) después de que se complete el proyecto limpio?

 0
Author: padis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-15 08:24:29

He dejado de usar este método de ejecutar mi aplicación web. Yo uso mvn tomcat:run en su lugar. Mucho más fácil. Aunque no se como depurar.

 0
Author: Ram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-21 06:29:35

Este problema puede deberse a que su proyecto local no está sincronizado con su repositorio de código. Yo sugeriría actualizar / sincronizar su proyecto.

 0
Author: Marcin Wasiluk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-03 10:58:13

Me encontré con el mismo problema y la limpieza y la recreación del servidor no ayuda. Pero cuando implementé otro proyecto, fue capaz de comenzar con éxito. Después de mucha comparación, encontré diferencias en el .archivos de proyecto. Así que copio el contenido de la .archivo de proyecto del proyecto de trabajo en el que tiene problema, añadirlo de nuevo al servidor y funciona. A continuación se muestra el contenido de la .archivo de proyecto que funciona. Tenga en cuenta que debe cambiar el nombre del proyecto en consecuencia:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Project Name</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
    <buildCommand>
        <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.wst.common.project.facet.core.builder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.wst.validation.validationbuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>

 0
Author: gkl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-07 13:02:24

Lo intenté todo sin suerte. Acabo de tener un proyecto en mi eclipse. Apagar eclipse, cambiar el nombre del directorio eclipse, descomprimirlo de nuevo, comenzó de nuevo en nuevo eclipse. Funcionó.

No, no es eficiente.

 0
Author: Mustafa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-24 16:50:25

Pasos que seguí y funcionarán al 100%:

  1. Limpie su servidor y su directorio de trabajo del servidor haciendo clic derecho en el servidor
  2. Elimine la carpeta del servidor de la ventana del explorador de proyectos
  3. Eliminar servidor del entorno de ejecución ie de Eclipse -> Ventana -> Preferencias -> Servidor - > Entornos de ejecución
  4. Cierra eclipse y comienza de nuevo
  5. Ejecute el archivo en el servidor nuevamente reconfigure el servidor Apache
  6. El problema está resuelto
 0
Author: Sahil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-25 06:02:31
Check this version:

<web-app version="**2.5**" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_**2_5**.xsd" metadata-complete="true">

and 

org.eclipse.wst.common.project.facet.core.xml

<installed facet="jst.web" version="**2.5**"/>

It can be incompatible with the chosen server. In my case when I tried to upgrade 3.0 tomcat 6.0 stopped working so I had to revert back to 2.5


so upgrade your server to a highter version or downgrade the web.xml version and run maven --> update project and try again
 0
Author: Cynthia Elliot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-20 11:17:22

En mi caso fue suficiente copiar (del proyecto de trabajo):

  1. .configuración
  2. .classpath
  3. .proyectos
 0
Author: SkorpEN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-23 10:08:37