2012-03-30 4 views
6

estoy tratando de adaptar algunos viejos guiones de construcción para ejecutar con una instalación RPM del Tomcat 6, y yo estoy corriendo en los siguientes:

java.lang.IllegalArgumentException: Document base /var/lib/tomcat6/webapps/host-manager 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:4086) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4255) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) 
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637) 
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
    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:593) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:616) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 

Esto no es sorprendente ya que Tomcat no está en /var/lib/tomcat6, está en /usr/share/tomcat6. Cuando busco donde esto podría estar viniendo, todo lo que encuentro es el siguiente en un archivo llamado host-manager.xml:

<Context docBase="${catalina.home}/webapps/host-manager" 
    privileged="true" antiResourceLocking="false" antiJARLocking="false"> 

</Context> 

Ahora, tengo $CATALINA_HOME conjunto de /usr/share/tomcat6 como debe ser, y no hay ninguna referencia a /var/lib en cualquier parte en mi aplicación web (incluida la configuración) o en mi instalación de Tomcat 6, hasta donde sé. Entonces, ¿qué es ${catalina.home}, y cómo se lo sustituye por /var/lib/tomcat6?

Respuesta

9

Buscar en el archivo de ${TOMCAT_HOME}/bin/catalina.sh - desplazarse hacia abajo a la sección de inicio - la propiedad del sistema catalina.home se establece a partir de la variable CATALINA_HOME env:

-Dcatalina.home=\"$CATALINA_HOME\" 

Ahora en cuanto a por qué esto no es lo mismo que lo que tiene CATALINA_HOME variable de entorno establecida en - deberás verificar cómo se inicia el servidor tomcat, en particular qué variables de entorno se establecen en el proceso/contexto desde el que se inicia.

Entonces, ¿cómo comienza su instancia de tomcat?

+0

Estaba comenzando con catalina.sh. No profundicé para descubrir por qué no estaba usando la variable de entorno, pero este problema en particular se resolvió instalando el RPM tomcat6-admin-webapps, que puso esos archivos en/var/lib donde los estaba buscando. . –

Cuestiones relacionadas