eclipse tomcat7 illegalargumentexception

Error de Eclipse Tomcat: la base de documentos no existe o no es un directorio legible



tomcat7 illegalargumentexception (20)

13-dic-2011 17.00.36 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: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib 13-dic-2011 17.00.36 org.apache.tomcat.util.digester.SetPropertiesRule begin AVVERTENZA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ''source'' to ''org.eclipse.jst.jee.server:Preventivi'' did not find a matching property. 13-dic-2011 17.00.36 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 13-dic-2011 17.00.36 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8443"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 13-dic-2011 17.00.37 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 983 ms 13-dic-2011 17.00.37 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 13-dic-2011 17.00.37 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.23 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext resourcesStart GRAVE: Error starting static Resources java.lang.IllegalArgumentException: Document base /home/claudio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Preventivi does not exist or is not a readable directory at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:140) at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4880) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5060) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Error in resourceStart() 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Error getConfigured 13-dic-2011 17.00.37 org.apache.catalina.core.StandardContext startInternal GRAVE: Context [/Preventivi] startup failed due to previous errors 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8443"] 13-dic-2011 17.00.37 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 13-dic-2011 17.00.37 org.apache.catalina.startup.Catalina start INFO: Server startup in 319 ms

He ejecutado mi proyecto de aplicación web en Eclipse, pero hoy recibí el mensaje en la consola. Tomcat me devuelve un error de página 404. Tal vez el problema es que la carpeta donde escribiría no existe. ¿Dónde está el truco?


Antes de adoptar cualquier otra solución, asegúrese de que el proyecto esté abierto .


Como un problema trivial, el proyecto que está intentando iniciar puede cerrarse (esto podría ser un error, si tiene muchos proyectos en el área de trabajo). Simplemente haga right click -> Open Project , en este caso.


En cuanto a la excepción que recibe, esto parece ser un problema con la publicación de su aplicación WEB (por ejemplo, Eclipse WTP podría arruinar algo). Lo primero que me viene a la mente:

Verifique la configuración de su servidor Tomcat: vaya a Servidores - haga doble clic en su servidor. Obtenga sus ''Ubicaciones del servidor - Ruta del servidor'' y verifique si existe y verifique los permisos de lectura / escritura del usuario / grupo. p.ej. ls -lh somepath / .medadata / .plugins / .org.eclipse.wst.server.core / tmp0 Debe ser propietario o al menos en el mismo grupo para la carpeta.

Limpie el espacio de trabajo del eclipse. (Proyecto - limpiar todo)

Limpie / vuelva a publicar su aplicación wep (haga clic derecho en el servidor, limpie, publique).

Compruebe si la aplicación está publicada, debe haber una carpeta llamada Preventini en /home/claudio/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ También verifique los permisos aquí nuevamente (vea encima).


Encontré este problema hoy, luego resuélvalo editando server.xml en el directorio de% tomcat_home% / conf, tal como se muestra a continuación:

<Context docBase="E:/apache-tomcat-7.0.52/webapps/ROOT" path="/ROOT" reloadable="true" source="org.eclipse.jst.j2ee.server:pc-ui"/>

No sé si es MyEclipse el que ha generado el elemento "Contexto" en el elemento "Host", pero lo cambio de acuerdo con la información de error que aparece en la consola del IDE.


Esto podría suceder porque la carpeta " Tomcat / conf / Catalina ". Por favor, elimine esta carpeta.

Gracias kamal


Esto podría suceder si ejecutas maven para construir un proyecto java.

mvn eclipse:eclipse

En lugar de ejecutar maven para construir un proyecto web java como:

mvn eclipse eclipse -Dwtpversion=2.0


Esto puede ser tarde, pero para el beneficio de aquellos que puedan encontrar el mismo problema en el futuro, compartiré lo que experimenté.

WebContent este problema después de eliminar la carpeta WebContent del Dynamic Web Project que acabo de crear en lugar de la carpeta webapp que es la carpeta estándar de mi empresa. Descubrí que, en Project Properties > Deployment Assembly , la carpeta WebContent todavía se usa como raíz de la aplicación web (Deploy Path : "/") . Por lo tanto, Eclipse no copia el proyecto a .metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps porque la raíz especificada en Deployment Assembly ya no existe.

Lo arreglé editando esa entrada y luego corrigiéndolo con la carpeta que estoy usando en lugar del WebContent webapp predeterminado (la carpeta WebContent )


Hoy trabajé con otro proyecto y obtuve algunos errores al iniciar el servidor (tomcat7), así que primero limpié el servidor y lo probé, pero no tuve suerte, luego eliminé el servidor e hice uno nuevo.

El proyecto en el que estaba trabajando comenzó a funcionar bien, pero otro proyecto comenzó a darme la misma excepción, volví a eliminar el servidor y probé el mismo caso, incluso no pude acceder a la página de inicio de localhost:8888/ es decir, localhost:8888/ . Realmente no sé cómo y por qué sucedió todo eso.

Probé varias cosas como clean , add/remove luego comencé a buscar SO.

Después de algunas investigaciones, pensé en darle una oportunidad más y luego volví a iniciar al servidor. Esta vez, mis dos proyectos empezaron a funcionar bien pero aún obtengo 404 en la página de Tomcat


Intente, haga clic con el botón derecho en Tomcat -> Agregar / Eliminar , luego en la ventana abierta, elimine Todos los proyectos en el lado Configurado ...

Luego reinicie Tomcat.


La solución más sencilla (y lo que funcionó para mí) fue eliminar mi servidor Tomcat de la vista "Servidores" en Eclipse, luego crear un nuevo servidor y agregarle todos los módulos apropiados.

A veces Tomcat se confunde y la manera más fácil / menos lenta de resolver las cosas es comenzar de nuevo.


Me pasó un par de veces.

Windows> Mostrar vista> Servidores>

Aparecerá una lista de servidores en la parte inferior. Haga clic derecho en él y elimínelo.

Ahora, mientras ejecuta su proyecto, vuelva a seleccionar manualmente el servidor de la lista de servidores existentes y ejecútelo.


Puede ver tomcat / conf / Catalina / localhost, si puede ver el archivo xml cuyo nombre coincide con su mensaje de error. Solo puede eliminar el archivo xml y reiniciar su tomcat.


Resolví este error agregando la eliminación y agregando nuevamente los archivos jar de la carpeta WebContent / WEB-INF / lib. e hice lo mismo en las propiedades del proyecto, es decir, (haga clic con el botón derecho en proyecto-> Crear ruta-> configurar la ruta de construcción) seleccionando la opción Agregar tarro externo.


Si utiliza Eclipse STS

  1. abre la vista del servidor

  2. Selecciona el servidor en el que estás intentando publicar.

  3. clic derecho -> limpiar

Tuve este problema un par de veces y esto siempre parecía solucionarlo. Supongo que las otras soluciones también funcionan pero me parecen más complicadas.


Tengo el mismo error, simplemente ejecute este comando de Maven repetidamente y resuelva el problema.

mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0

eclipse no reconoció que se trataba de un proyecto web, por lo que nunca debe implementar la aplicación.


Tengo este error unas cuantas veces. Lo obtuve porque mi proyecto no se estaba construyendo correctamente después de ejecutar la línea "mvn eclipse: eclipse". Asegúrese de que su proyecto se está construyendo correctamente, luego agregue y elimine el proyecto del servidor.


Tengo este problema cuando importé un proyecto y lo ejecuté con Tomcat. Lo arreglé cuando abrí el archivo .project y agregué algo de código:

<nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>


Tuve el mismo problema con Tomcat 7 y Eclipse Mars.
Lo resolví de la siguiente manera:

  • deja de Tomcat
  • abrir server.xml

    Ctrl + Shift + R > escribe "server.xml"> Abrir

  • búsqueda de " <Context docBase "

    Ctrl + F > escribe " <Context "> Buscar

  • Eliminar todas las etiquetas <Context .../> desde aquí:

    <?xml version="1.0" encoding="UTF-8"?> ... <Server port="8005" shutdown="SHUTDOWN"> ... <Service name="Catalina"> ... <Engine defaultHost="localhost" name="Catalina"> ... <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> ... <!-- Remove the following lines! --> <Context docBase="App1" path="/App1" reloadable="true" source="org.eclipse.jst.j2ee.server:App1" /> <Context docBase="App2" path="/App2" reloadable="true" source="org.eclipse.jst.j2ee.server:App2" /> </Host> </Engine> </Service> </Server>

    • probablemente al final de la última línea que debe eliminarse está </Host> (¡no elimine </Host> !)
  • Vaya a la pestaña Servidores> haga clic derecho en el (los) proyecto (s)> Eliminar> Aceptar

  • Haga clic derecho en el proyecto> Ejecutar como> Ejecutar en servidor> Finalizar

    ¡Ahora debería funcionar!
    Si verifica el archivo server.xml, verá que se generó una nueva línea " <Context ... /> " correcta.


Tuve que eliminar un proyecto / módulo ofensivo de la vista de configuración de tomcat, en la pestaña de módulos.


Vaya a la aplicación web de Tomcat Manager Select -> desinstálela