2012-03-30 29 views
6

我试图去适应一些旧的生成脚本与RPM安装的Tomcat 6的运行,我运行到以下几点:

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) 

这并不奇怪,因为Tomcat是不是/var/lib/tomcat6,它在/usr/share/tomcat6。当我寻找在那里这可能是从,所有我觉得未来是在一个文件中的以下称为host-manager.xml

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

</Context> 

现在,我有$CATALINA_HOME设置为/usr/share/tomcat6理所应当,而且也给/var/lib任何地方的任何引用在我的网络应用程序(包括配置)或我的Tomcat 6安装,据我所知。那么什么是${catalina.home}/var/lib/tomcat6如何取代它呢?

回答

9

看着你${TOMCAT_HOME}/bin/catalina.sh文件 - 向下滚动到开始部分 - 的的catalina.home系统属性从CATALINA_HOME环境变量设置:

,为什么这是不一样的东西
-Dcatalina.home=\"$CATALINA_HOME\" 

现在你有CATALINA_HOME env变量设置为 - 你需要检查你的tomcat服务器是如何启动的,特别是在它启动的进程/上下文中设置了什么环境变量。

那么你如何开始你的tomcat实例?

+0

我正在用catalina.sh启动它。没有深入了解它为什么没有使用环境变量,但是通过安装tomcat6-admin-webapps RPM解决了这个特殊问题,它将这些文件放在/ var/lib中它正在寻找它们的地方。 – 2012-03-30 22:47:23