2012-06-16 4 views
30

मैंने अभी विंडोज एक्सपी में जावा जेडीके 6u33 स्थापित किया है। भले ही मैंने पाथ पर्यावरण चर सेट नहीं किया है, मैं कमांड प्रॉम्प्ट में java -version चलाने में सक्षम हूं।
1. C:\Program Files\Java\jdk1.6.0_33\bin\java.exe
2. C:\WINDOWS\system32\java.exe"system32 java.exe" और "प्रोग्राम फ़ाइलें जावा jdk1.6.0_33 bin java.exe" के बीच क्या अंतर है?

: C:\WINDOWS\system32\java.exe

जब मैं अपने पीसी की जांच की, तो पाया 2 java.exe देखते हैं कि:

जब मैं इस आदेश for %i in (java.exe) do @echo. %~$PATH:i चलाने के लिए, मैं इस आउटपुट प्राप्त

मई मुझे पता है कि system32\java.exe और Program Files\Java\jdk1.6.0_33\bin\java.exe के बीच क्या अंतर है? जब मैं for %i in (java.exe) do @echo. %~$PATH:i चलाता हूं तो केवल system32\java.exe दिखाया जाता है?

क्या मुझे अभी भी अपने पाथ पर्यावरण चर में C:\Program Files\Java\jdk1.6.0_33\bin\ जोड़ने की आवश्यकता है?

उत्तर

26

PATH चर सेट करना बस इतना है कि आप javac और जेडीके बिन फ़ोल्डर में अन्य प्रोग्राम और टूल तक पहुंच प्राप्त कर सकते हैं।

\windows\system32\ में java.exe प्रदान की जाती है, ताकि हर कोई बस (कमांड लाइन से) एक जावा प्रोग्राम चलाने के लिए और (पिछले एक स्थापित ऐसा लगता है) स्थापित जावा के एक संस्करण का चयन करता है एक पथ चर सेट करने की जरूरत है वर्चुअल मशीन (JVM) यदि एक से अधिक (सार्वजनिक रूप से) स्थापित हैं।

बातें आगे जटिल system32 में java.exe सिर्फ एक डमी है करने के लिए:

http://mindprod.com/jgloss/javaexe.html#MULTIPLES

उद्धरण:

अधिक जानकारी के लिए यह लिंक देखें। यह रजिस्ट्री में दिखता है और फिर यह तय करता है कि कौन सा वास्तविक java.exe उपयोग करना है। अंतिम जेवीएम स्थापित किया जाता है, भले ही यह पुराना हो। जेवीएम एस स्विच करने के लिए, आपको सामान्य रूप से वही इंस्टॉल करना होगा जिसे आप चाहते हैं।

+11

यह एक डमी नहीं है "java.exe" और आपको पुनः स्थापित करने की आवश्यकता नहीं है, तो आप 1.6 jRE को मजबूर करने के लिए 'java -version: "1.6" MyClass' जैसे संस्करण पैरामीटर के साथ आवश्यक संस्करण को सरल पास करते हैं। muliple संस्करण स्थापित के साथ एक वर्कस्टेशन पर (http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java देखें।एचटीएमएल) – RealHowTo

+2

सच है कि आप कोर्स की पुनर्स्थापना की आवश्यकता को बाईपास कर सकते हैं * यदि * आप इसे कमांड लाइन पैरामीटर पास करते हैं, और आप निश्चित रूप से जावा रनटाइम के लिए पूरा पथ निर्दिष्ट कर सकते हैं (java.exe, javaw.exe या javaws ।प्रोग्राम फ़ाइल)। हालांकि अधिकांश उपयोगकर्ताओं के लिए न तो "ऑटो जादू" है। –

10

(उत्तर नहीं बल्कि मैटियास के उत्तर पर एक टिप्पणी) इस "डमी" व्यवसाय के बारे में निश्चित नहीं है। System32 में java.exe एक सामान्य फ़ाइल है, यहां तक ​​कि एक प्रतीकात्मक या हार्ड लिंक भी नहीं है। मैटियास यहां बताई गई समस्या का जिक्र कर रहा है: http://msdn.microsoft.com/en-us/library/aa384187

संक्षेप में, यदि आपके पास 64-बिट सिस्टम और जावा इंस्टॉलेशन है, तो 32-बिट अनुप्रयोग java.exe (न ही जावा। exe, javaws.exe) जो C: \ Windows \ System32 \ में स्थापित है क्योंकि उन्हें C: \ Windows \ SysWoW64 \ masquerading C: \ Windows \ System32 के रूप में प्रस्तुत किया जाएगा। इंस्टॉलर SysWoW64 में java.exe की प्रतिलिपि डालने में विफल रहता है, इसलिए 32-बिट ऐप जो जावा लॉन्च करने का प्रयास करता है, ऐसा करने में विफल रहता है। यह उपयोगकर्ता को पहेली करेगा यदि वह एक्सप्लोरर का उपयोग कर system32 निर्देशिका में दिखता है, क्योंकि एक्सप्लोरर 64-बिट ऐप है और इस प्रकार "असली" system32 निर्देशिका देखेंगे।

+4

64-बिट सिस्टम पर, आपको आम तौर पर 64-बिट और जावा के 32-बिट संस्करण दोनों स्थापित करना चाहिए। –

+0

मेरे पास ऐसी स्थापना है, लेकिन उदाहरण के लिए 64 बिट ग्रहण 32 बिट जावा चलाता है, कोई विचार क्यों? जब मैं 'जावा-वर्जन' चलाता हूं तो यह 32 बिट संस्करण भी देता है। क्या मुख्य रूप से 64 बिट का उपयोग करने के लिए इसे संशोधित करना संभव है? – Betlista

+0

Betlista, क्या आपके पास दोनों जेडीके इंस्टॉल हैं? – Urhixidur

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