2009-11-09 10 views
32

मेरे पास 2 जावा वेब प्रोजेक्ट हैं। एक जेडीके 1.5 और अन्य जेडीके 1.6 पर चलता है। मैं दोनों को एक ही कंप्यूटर पर चलाने के लिए चाहता हूं, लेकिन JAVA_HOME पर्यावरण चर केवल एक मान हो सकता है। मैं प्रत्येक टोमकैट सर्वर के लिए जावा-एचओएमई सेट करना चाहता हूं।एकाधिक टोमकैट उदाहरणों के लिए JAVA_HOME कैसे सेट करें?

+0

संबंधित प्रश्न (लिनक्स के लिए): http://askubuntu.com/questions/154953/specify-jdk-for-tomcat7 –

उत्तर

19

एक चीज जो आप कर सकते हैं वह catalina.sh (यूनिक्स आधारित) या catalina.bat (विंडोज़ आधारित) को संशोधित करना होगा।

प्रत्येक स्क्रिप्ट के भीतर आप कुछ चर सेट कर सकते हैं जो केवल खोल के तहत बनाई गई प्रक्रियाओं का उत्तराधिकारी होगा। तो catalina.sh के लिए, निम्न पंक्ति का उपयोग करें:

export JAVA_HOME="intented java home" 

और खिड़कियों

set JAVA_HOME="intented java home" 
+1

क्या विंडोज संस्करण यूनिक्स संस्करण से भिन्न नहीं है? मैं कोई बैच लड़का नहीं हूं, लेकिन मैंने सोचा कि यह 'सेट' था, या क्या मैं खुद डेटिंग कर रहा हूं? –

+1

मैं विंडोज एक्सपी का उपयोग कर रहा हूं और मैंने लाइन "निर्यात JAVA_HOME =" सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.6.0_12 "फ़ाइल टोमकैट/बिन/catalina.bat की शुरुआत में जोड़ा है लेकिन टॉमकैट हेर शुरू नहीं कर सकता मेरी फाइल रेम अनुमान CATALINA_HOME का एक हिस्सा परिभाषित नहीं करता है, तो है निर्यात JAVA_HOME = "C: \ Program Files \ जावा \ jdk1.6.0_12" सेट JAVA_OPTS =% JAVA_OPTS% -Xmx512m सेट CURRENT_DIR =% सीडी% अगर नहीं "% CATALINA_HOME%" == "" goto gotHome सेट CATALINA_HOME =% CURRENT_DIR% यदि मौजूद है "% CATALINA_HOME% \ bin \ catalina.bat" goto okHome –

+0

आह। कॉपी पेस्ट का बुरा उपयोग! मेरा मतलब नहीं था विंडोज संस्करण के लिए निर्यात डालें। Ry4an उस सेट में सही था सही आदेश है। वें अद्यतन कर रहा है ई उत्तर – bogertron

7

भी उपयोग के लिए, ध्यान दें कि वहाँ = के बाद किसी भी स्थान नहीं होना चाहिए:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27 
3

यूनिक्स में मुझे यह समस्या थी, मैंने मैन्युअल रूप से catalina.sh संपादित किया और

export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24 
echo "Using JAVA_HOME:  $JAVA_HOME" 
संपादित किया

पहली 2 लाइनों के रूप में। मैंने में JAVA_HOME को सेट करने का प्रयास किया लेकिन इससे मदद नहीं मिली।

यह अंततः काम करता था।

0

बस एक नोट ...

आप setclasspath.bat या setclasspath.sh है कि कोड जोड़ दें, तो यह वास्तव में बिलाव की पटकथा तुम सिर्फ कैटालिना के बजाय चला सकते हैं, के सभी द्वारा उपयोग किया जाएगा।

चर सेट करने की विधि दूसरे के वर्णन के रूप में है।

36

जगह

JAVA_HOME=/usr/java/jdk1.6.0_43/ 
JRE_HOME=/usr/java/jdk1.6.0_43/jre 

साथ बिन निर्देशिका में setenv.sh या एक दूसरे संस्करण अपने चल रहा है।

+2

'JAVA_HOME' और' JRE_HOME' जोड़ने की कोई आवश्यकता नहीं है। _ अगर दोनों JRE_HOME और JAVA_HOME निर्दिष्ट हैं, JRE_HOME का उपयोग किया जाता है ._ http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt – user454322

2

लिनक्स आधारित tomcat6 होना चाहिए

# System-wide configuration file for tomcat6 services 
# This will be sourced by tomcat6 and any secondary service 
# Values will be overridden by service-specific configuration 
# files in /etc/sysconfig 
# 
# Use this one to change default values for all services 
# Change the service specific ones to affect only one service 
# (see, for instance, /etc/sysconfig/tomcat6) 
# 

# Where your java installation lives 
#JAVA_HOME="/usr/lib/jvm/java-1.5.0" 

# Where your tomcat installation lives 
CATALINA_BASE="/usr/share/tomcat6" 
... 
12

/etc/tomcat6/tomcat6.conf आप एक विंडोज उपयोगकर्ता हैं, तो एक setenv.bat फ़ाइल में नीचे दी गई सामग्री रखा है जो आपको चाहिए टॉमकैट बिन निर्देशिका में बनाएँ।

set JAVA_HOME=C:\Program Files\Java\jdk1.6.x 

आप एक लिनक्स उपयोगकर्ता हैं, तो एक setenv.sh फ़ाइल में नीचे दी गई सामग्री है कि आप बिन निर्देशिका बिलाव में बनाना चाहिए डाल दिया।

JAVA_HOME=/usr/java/jdk1.6.x 
2

मैं एक ही समस्या थी मेरी ओएस खिड़कियां 8 और मैं बिलाव 8, उपयोग कर रहा हूँ मैं सिर्फ setclasspath संपादित।बल्ले बिन फ़ोल्डर में फ़ाइल और सेट JAVA_HOME और JRE_HOME इस तरह ...


...
...
सेट "JRE_HOME =% ProgramFiles% बंद @echo \ जावा \ jre8 "
सेट" JAVA_HOME =% ProgramFiles% \ जावा \ jdk1.7.0_03 "
...
...

और यह अब मेरे लिए ठीक काम करता है ......

4

आप के साथ बिन निर्देशिका में setenv.sh जोड़ सकते हैं:

निर्यात JAVA_HOME = $ (readlink -f/usr/बिन/जावा | sed "s: bin/java ::")

और जब आप अपने पैकेज अपडेट करते हैं तो यह गतिशील रूप से बदल जाएगा।

2

डेबियन distro के लिए हम चूक

/etc/default/tomcat6 

JAVA_HOME सेट जावा संस्करण आप चाहते हैं की ओर इशारा करते के माध्यम से सेटिंग को ओवरराइड कर सकते हैं।

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
2

मुझे लगता है कि यह सबसे अच्छा अभ्यास है (आप हो सकता है एक ही कंप्यूटर में कई बिलाव उदाहरण है, तो आप अन्य जावा रनटाइम वातावरण का उपयोग बिलाव उदाहरण प्रति चाहते हैं):

enter image description here

enter image description here

यह मैन्युअल अंदर फ़ाइल है: catalina.sh

# JRE_HOME  Must point at your Java Runtime installation. 
#     Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME 
#     are both set, JRE_HOME is used. 
संबंधित मुद्दे