2012-03-30 6 views
6

मैं कुछ पुराने निर्माण स्क्रिप्ट बिलाव 6 के एक RPM स्थापना के साथ चलाने के लिए अनुकूल करने के लिए कोशिश कर रहा हूँ, और मैं निम्नलिखित में चल रहा हूँ:

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) 

इस रूप में बिलाव /var/lib/tomcat6 में नहीं है unsurprising है, क्या है /usr/share/tomcat6। एक फ़ाइल में निम्न जब मैं जहां इस, से सभी मुझे लगता है आने वाले किया जा सकता है के लिए देखो है host-manager.xml कहा जाता है:

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

</Context> 

अब, मैं /usr/share/tomcat6 को $CATALINA_HOME सेट के रूप में यह होना चाहिए, और वहाँ कहीं भी /var/lib का कोई सन्दर्भ है जहां तक ​​मैं कह सकता हूं, मेरे वेब ऐप (कॉन्फ़िगर सहित) या मेरी टॉमकैट 6 स्थापना में। तो ${catalina.home} क्या है, और /var/lib/tomcat6 इसके लिए प्रतिस्थापित कैसे किया जा रहा है?

उत्तर

9

अपने ${TOMCAT_HOME}/bin/catalina.sh फ़ाइल में देखो - शुरू अनुभाग तक नीचे स्क्रॉल - catalina.home प्रणाली संपत्ति CATALINA_HOME env चर से सेट किया गया है:

-Dcatalina.home=\"$CATALINA_HOME\" 

अब के रूप में क्यों यह है कि क्या के समान नहीं है करने के लिए आप CATALINA_HOME env वैरिएबल सेट पर है - आपको यह देखने की आवश्यकता होगी कि आपका टॉमकैट सर्वर कैसे शुरू किया गया है, विशेष रूप से उस प्रक्रिया/संदर्भ में पर्यावरण चर सेट किए गए हैं जो इसे लॉन्च किया गया है।

तो आप अपना टॉमकैट उदाहरण कैसे शुरू कर रहे हैं?

+0

मैं इसे catalina.sh से शुरू कर रहा था। यह पता लगाने के लिए खोद नहीं आया कि यह पर्यावरण चर का उपयोग क्यों नहीं कर रहा था, लेकिन यह विशेष समस्या tomcat6-admin-webapps RPM स्थापित करके हल की गई थी, जो उन फ़ाइलों को/var/lib में रखती थी जहां यह उनकी तलाश में थी । –

संबंधित मुद्दे