2012-03-30 3 views
6

나는 톰캣 6의 RPM 설치를 실행하는 오래된 빌드 스크립트에 적응하기 위해 노력하고있어, 나는 다음과 같은 실행 해요 : Tomcat이 /var/lib/tomcat6에 아니므로

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) 

이 그것에있어, 놀랍지 /usr/share/tomcat6. 그것이 있어야로 내가 /usr/share/tomcat6$CATALINA_HOME 세트가 지금

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

</Context> 

, 어디서나 /var/lib에 대한 참조가 없습니다 : 나는 곳은 내가 찾을 모두에서 오는 될 수를 찾으 인 파일에 다음 host-manager.xml라고 내가 말할 수있는 한 내 웹 응용 프로그램 (설정 포함) 또는 Tomcat 6 설치에서. 그렇다면 ${catalina.home}은 무엇이며 /var/lib/tomcat6은 어떻게 대체됩니까?

답변

9

당신의 ${TOMCAT_HOME}/bin/catalina.sh 파일에 봐 - 시작 섹션으로 스크롤 - 가리키는 catalina.home 시스템 속성이 CATALINA_HOME ENV 변수에서 설정됩니다

이제
-Dcatalina.home=\"$CATALINA_HOME\" 

등이 것과 동일하지 않은 이유에 당신 CATALINA_HOME env 변수를 설정하십시오 - tomcat 서버가 시작된 방법, 특히 실행되는 프로세스/컨텍스트에서 설정되는 환경 변수를 확인해야합니다.

그럼 어떻게 시작합니까?

+0

나는 catalina.sh로 시작했다. 환경 변수를 사용하지 않는 이유를 알아 내기 위해 그것을 파고 들지는 않았지만 이러한 특정 문제는 tomcat6-admin-webapps RPM을 설치하여 해결되었습니다.이 RPM은/var/lib에 파일을 넣었습니다. . –