2010-04-02 13 views
5

खोजने मैं थोड़ा CentOS 5.4 पर इस अजीब व्यवहार से हैरान हूँ जब बिलाव 6.0 एक सेवा के रूप शुरू करनेबिल्ला startup.sh मुसीबत JAVA_HOME

मैं /etc/init.d/tomcat पर एक स्क्रिप्ट जोड़ दिया है जो कर सकते हैं उपयोगकर्ता 'टोमकैट' के साथ अपाचे टॉमकैट 6.0 को प्रारंभ/बंद/पुनरारंभ करें, और इसे सेवा के रूप में पंजीकृत करें। सेवा के साथ समस्या यह है कि मुझे 'JAVA_HOME नहीं मिला है और न ही JRE_HOME पर्यावरण चर परिभाषित किया गया है'। लेकिन जब टाइप करें 'sudo -u tomcat echo $ JAVA_HOME' I get '/usr/java/jdk1.5.0_22' जो सही है क्योंकि मैं उस जेडीके का उपयोग कर रहा हूं। इस बारे में क्या किया जा सकता है?

उत्तर

2

क्या आपने प्रारंभिक स्क्रिप्ट में JAVA_HOME env चर को मजबूर करने का प्रयास किया है? जब भी मुझे इस तरह की समस्या का सामना करना पड़ता है, तो मुझे यह पता लगाने और ट्रैक करने के लिए एक अच्छी समस्या निवारण तकनीक मिलती है कि यह स्क्रिप्ट में इसे सेट करके यह जानकारी खो रहा है।

+0

जोड़ने हां। जब मैं निर्यात JAVA_HOME =/usr/java/jdk1.5.0_22 सीधे $ CATALINA_HOME/bin/startup.sh में डालता हूं तो यह कोई समस्या नहीं करता है। –

+0

इसे इसके अंत के बजाय स्क्रिप्ट की शुरुआत में सम्मिलित करना याद रखें। – eaykin

0

क्या आपने /etc/profile.d/java.sh में पथों की जांच की है?

भी चेकिंग की कोशिश जो जावा संस्करण इसके साथ वापसी: नहीं तो आप किसी संरूपण है जो जावा

इस सटीक पथ लौटना चाहिए java.sh में। बाद के मामले में सभी जावा अनइंस्टॉल करें और नवीनतम जेडीके को पुनर्स्थापित करें।

किसी भी तरह यह पोस्ट बाद में संदर्भ के लिए आपके पसंदीदा में आसान है।

http://www.centos.org/modules/newbb/viewtopic.php?topic_id=5717&forum=28

+0

मेरे पास /etc/profile.d/java.sh नहीं है। ऐसा मत सोचो कि आरपीएम से स्थापित जेडीके एक सभी उपयोगकर्ताओं के जावा-वर्जन 'रिटर्न पर बनाता है: जावा संस्करण "1.5।0_22 " जावा (टीएम) 2 रनटाइम पर्यावरण, मानक संस्करण (1.5.0_22-बी03 बनाएं) जावा हॉटस्पॉट (टीएम) क्लाइंट वीएम (1.5.0_22-बी03, मिश्रित मोड, साझा करना) –

+0

भी '$ JAVA_HOME' वापसी /usr/java/jdk1.5.0_22 –

10

मैं एक ही मुद्दा था और फ़ाइल /etc/environment पर JAVA_HOME चर परिभाषा रखकर इसे हल।

$ export JAVA_HOME=<path_to_my_java_home> 

तब मैं बिलाव का एहसास startup.sh स्क्रिप्ट JAVA_HOME चर के मूल्य पर नहीं पहुंच सका जब यह sudo, जो बिलाव सर्वर शुरू करने के लिए आवश्यक है के साथ लागू किया गया था:

शुरू में मैं JAVA_HOME वातावरण चर प्रेरक बनाया था ।

सबसे पहले मैं sudo साथ JAVA_HOME चर निर्यात करने की कोशिश की, लेकिन यह काम नहीं किया:

$ sudo export JAVA_HOME=<path_to_my_java_home> 
sudo: export: command not found 

तब मैं /etc/environment फाइल करने के लिए JAVA_HOME चर परिभाषा जोड़ने की कोशिश की। यहाँ कैसे मेरी /etc/enviroment फ़ाइल अब की तरह लग रहा है:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 
JAVA_HOME=/usr/lib/jvm/java-7-oracle 

फिर sudo साथ बिलाव startup.sh स्क्रिप्ट लागू और http://localhost:8080 तक पहुँचने के बाद brownser बिलाव स्टार्टअप पृष्ठ, जिसमें कहा गया है सर्वर को सफलतापूर्वक सेट है लाता है।

+0

मुझे पता नहीं है कि इस फ़ाइल को कबूतरों की शुरुआत में कहा जाता है, लेकिन यह करता है। यह मुझे प्रत्येक सेवा (लिनक्स पर) में JAVA_HOME मान रखने से रोकता है/आदि/डिफ़ॉल्ट/$ आवेदन फ़ाइल। – Dennis

0

बिन में/catalina.sh सिर्फ JAVA_HOME crontab के लिए के रूप में

# For CRONTAB 
export JAVA_HOME=/usr/java/latest 
# END 
संबंधित मुद्दे