instalar - tomcat 8 for eclipse oxygen
No se puede "Ejecutar en el servidor" una aplicaciĆ³n web de Eclipse (15)
Al ejecutar mi proyecto de aplicación web desde Eclipse, la mayoría de las veces se ejecuta correctamente. Pero si por error detengo el servidor, lo mato en la vista "Consola" en lugar de "Detener" el servidor desde la vista "Servidores". Mientras se ejecuta el proyecto limpio consigo este
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 al lanzar 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 recuperarse de esto.
En mi caso fue suficiente copiar (del proyecto de trabajo):
- .settings
- .classpath
- .proyectos
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.
He dejado de usar este método para ejecutar mi aplicación web. Yo uso mvn tomcat:run
lugar. Más fácil. Aunque no sé cómo depurar.
He eliminado la "carpeta de problemas" .metadata.plugins / org.eclipse.wst.server.core / tmp0 / y ahora funciona :)
Lo intenté todo sin suerte. Acabo de tener un proyecto en mi eclipse. Cierre eclipse, cambie el nombre del directorio de eclipse, vuelva a descomprimirlo y comience de nuevo en el eclipse nuevo. Funcionó.
No, no es eficiente.
Me costó mucho hacerlo funcionar, pero gracias a "Alexander Pogrebnyak" (vea cómo desplegar un archivo war en el servidor tomcat WTP (Eclipse) ) pude hacer que Eclipse Web Projects funcione con Maven a través de m2e:
Antes de comenzar, debo decir que soy un hombre muy sospechoso, así que siempre comienzo por limpiar todos mis proyectos usando el menú "Eclipse> Proyecto> Limpiar ..." (sin la opción "iniciar una compilación inmediatamente" marcada). Tampoco tengo la opción "Eclipse> Proyecto> Generar automáticamente" marcada.
Por cierto, supongo que ya tendrás tu plugin m2e instalado, o lo que voy a decir no tiene ningún significado ...
Bueno, vamos a empezar:
Primero, bye bye 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 eliminar")
2) Limpie el directorio de trabajo de su servidor (haga clic derecho en el servidor y seleccione "Directorio de trabajo del servidor Tomcat")
3) Limpie las "sobras" compiladas (haga clic derecho en el servidor y seleccione "Limpiar")
4) Eliminar la configuración de su servidor de la pestaña "Servidores"
5) Borre completamente el proyecto / carpeta "Servidores" (que se muestra en la pestaña "Explorador de proyectos")
6) BONIFICACIÓN: también elimino el entorno de ejecución de mi 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 limpio"
Esto debería borrar su carpeta de destino
Tercero, instale la integración de WTP m2e (¡sí! No viene como "predeterminado". Un día entero para averiguarlo):
1) Abrir la opción "Descubrimiento" de Maven (Eclipse> Windows> Preferencias> Maven> Descubrimiento)
2) Presione el botón "Abrir catálogo" (debería aparecer una ventana de "m2e Marketplace")
3) Desplácese hacia abajo hasta que encuentre la opción "Integración WTP", luego "verifíquela".
4) Presiona "Terminar"
5) Aparecerá una "pantalla similar a un plugin". "Siguiente", "Siguiente", "De acuerdo", bla, bla, bla ...
Cuarto, deja Eclipse para volver a ejecutarlo:
1) Si no se le pide que reinicie Eclipse (que me cuesta creer que no lo haga), ¡reinícielo usted mismo!
En quinto lugar, la reintegración de Maven:
1) Agregue la naturaleza de Maven al proyecto (haga clic con el botón derecho en su proyecto web, "Menú emergente> Configurar> Convertir a proyecto de Maven")
2) Actualice su configuración de Maven (Sí, sí, sospechoso, lo sé). Vuelva a hacer clic con el botón derecho en su proyecto web, ahora con una "M" en su icono ("Menú emergente> Maven> Actualizar proyecto")
3) Ejecute una instalación de Maven (haga clic con el botón derecho en su proyecto web, "Menú emergente> Ejecutar como> Instalación de Maven")
4) Construye tu proyecto ("Eclipse> Proyecto> Construye todo")
Sexto, ponlo todo a trabajar:
1) Implemente y ejecute su aplicación web (haga clic derecho en su proyecto web, "Menú emergente> Ejecutar como> Ejecutar en servidor")
2) Se le pedirá que cree otra configuración de servidor. Volverá a crear el proyecto / carpeta "Servidores", pero así es.
¡¡¡Eso es!!! Debo admitir que, una vez que ejecuté el servidor, no funcionó, pero esta vez (no sé por qué) no se pudieron encontrar las bibliotecas "Log4J". Después de un "proyecto limpio" + "maven clean" y un "maven install" + "project build" otro mensaje que indica que no se pudo encontrar mi clase de Servlet. Una vez más, ejecuté un "project clean" + "maven clean" y un "maven install" + "project build" and "voila" !!! Funcionó (y por eso soy tan sospechoso).
Estaba empezando a preocuparme con este nuevo doble de Juno + m2e ... Nunca tuve este tipo de problema con Indigo o Ganimedes ... Pero creo que puedo confiar en Eclipse de nuevo (¿puedo?)
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 los archivos .project. Así que copio el contenido del archivo .project del proyecto de trabajo en el que tiene un problema, lo agrego de nuevo al servidor y funciona. A continuación se muestra el contenido del archivo .project que funciona. Tenga en cuenta que necesita 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>
Me sorprendió bastante el problema porque tenía otra dependencia de tarro que funcionaba 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 de jarrones a un proyecto de Maven War, pero aún así funcionó bien cuando ese fue comentado en el pom. Afortunadamente, pude comparar ambos proyectos y, finalmente, el problema se relacionó con una faceta del proyecto faltante en el nuevo proyecto jar: Módulo de utilidad.
- Botón derecho sobre el proyecto: Facetas del proyecto.
- Marque "Módulo de utilidad" y guarde
- Eliminar la aplicación de Tomcat y publicarla de nuevo.
Pasos que seguí y trabajaré 100%:
- Limpie su servidor y el directorio de trabajo de su servidor haciendo clic derecho en el servidor
- Elimine la carpeta del servidor de su ventana del explorador de proyectos
- Elimine el servidor del entorno de ejecución, es decir, de Eclipse -> Ventana -> Preferencias -> Servidor -> Entornos de ejecución
- Cierra el eclipse y comienza de nuevo.
- Ejecute el archivo nuevamente en el servidor, reconfigure el servidor Apache
- El problema está resuelto
Simplemente haga maven -> Actualice la configuración del proyecto y limpie / compile desde su eclipse. El proyecto será cargado.
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 pasos a continuación:
- Eliminar servidor: haga clic derecho en
[Severs]
y elimine servidor. - Eliminar servidor: haga clic derecho en
[Project Explorer]
y elimine Servidor (que creó). - Proyecto limpio: menú
[Project -> Clean]
- Crear servidor: haga clic derecho en
[Severs]
y el nuevo servidor. - Edite server.xml: edite
server.xml
su servidor web. - Agregar servidor: haga clic derecho en
[Severs]
y elimine el servidor.
Tengo exactamente el mismo problema y la misma excepción, pero resolví el problema con solo especificar el tipo de paquete de POM a war como "war" y hacer clic derecho en el proyecto y seleccionar ''Maven> Actualizar la configuración del proyecto'', y luego volver a implementar ese módulo web al servidor tomcat, eso es todo!
Verifique que el documento Tomcat para Document base xyz no existe o no es un directorio legible:
La base de documentos no existe o no es un directorio legible La URL especificada por el parámetro war debe identificar un directorio en este servidor que contenga la versión "desempaquetada" de una aplicación web, o la URL absoluta de un archivo de aplicación web (WAR) que contiene esta aplicación. Corregir el valor especificado por el parámetro war.
¿Se puede 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?
¡No hagas esas locas soluciones cósmicas!
Esto funciona bien:
Agregue a su archivo ".project" (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>
Disfrutar
¿Por qué? Si compruebas ese directorio inexistente, bueno, ese "../.metadata/blah/blah/tmp0/wtpwebapps/YOURPROJECT/"
está VACÍO: ¡¡¡entonces tu compilación no está creando el WAR ... !!! Debido a que el plugin de maven no está entendiendo, ¡TIENE QUE!
Encontré esto después de comparar dos archivos .project de ambos proyectos de implementación / no implementación diferentes ...
Esperanza ayudó!
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