गलत जावा-रिपोर्ट करना बताया जा रहा है


17

मैं विंडोज 7 प्रोफेशनल x64 चला रहा हूं और निम्नलिखित जावा संस्करण स्थापित हैं:

64

  • C: \ Program Files \ Java
    • jdk1.6.0_24
    • jdk1.7.0_04
    • jdk1.7.0_07
    • jre6
    • jre7

86

  • C: \ Program Files (x86) \ Java
    • jre1.6.0_07
    • jre6
    • jre7

मेरी वातावरण चर में मैं अपने राशि PATHयुक्त C:\Program Files\Java\jdk1.6.0_24\binऔर JAVA_HOMEकरने के लिए सेटC:\Program Files\Java\jdk1.6.0_24\bin

हालाँकि चल रही java -versionरिपोर्ट

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

यह कैसा है जब मेरे पर्यावरण चर में जावा के इस संस्करण का कोई संदर्भ नहीं है।

इस मुद्दे पर कोई मदद बहुत अच्छी होगी क्योंकि मैं जावा 1.6 का उपयोग करके अपाचे एएनटी को चलाने की कोशिश कर रहा हूं ।

जवाबों:


27

आपको शायद java.exe सिस्टम पथों में से एक में कॉपी किया गया है (AFAIK जो कि जावा इंस्टॉलर डिफ़ॉल्ट व्यवहार है)। यह जाँचने के लिए कि कमांड लाइन से 'जावा-वर्सन' चलाते समय वास्तव में क्या निष्पादित होता है:
for %I in (java.exe) do @echo %~$PATH:Iऔर यह आपको बताएगा कि यह कहाँ है।


1
वाह - यह बहुत उपयोगी है! किसी कारण java.exeसे सिस्टम 32 में है। मैं इसे उल्लेखित पथ की तरह आगे बढ़ाऊंगा।
मालाची

1
एक ही समस्या यहाँ, java.exeमें था system32औरProgramData\Oracle\javapath
केविन Labécot

यदि आप सोच रहे हैं कि आगे क्या करना है, तो आप एस का नाम बदल सकते हैं exe। मैं नाम दिया java.exe, javaw.exeऔर javaws.exeकरने के लिए java-foobar.exe, javaw-foobar.exeऔर javaws-foobar.exeक्रमशः।
javatarz

मुझे 4 की जाँच करने की आवश्यकता है कि स्थानों की संख्या बढ़ जाती है: PATH, JAVA_HOME, नियंत्रण पैनलों और अब भी System32 ... बस वाह। एक दिन रजिस्ट्री 5 वीं हो जाएगी। और आपको मैं धन्यवाद देता हूं सर।
जारोस्लाव ज़ुराबा

2

PATH फ़ोल्डरों को उनके दिखाई देने वाले क्रम में जांचा जाता है। जावा पथ को सामने की ओर ले जाने का प्रयास करें। अगर यह समस्या ठीक हो जाती है तो आपके मार्ग में कहीं और एक और संस्करण है।


2

सार्वजनिक JRE (जावा प्लगइन द्वारा प्रयुक्त) स्थापित करते समय, java.exe फ़ाइल C: \ WINNT \ system32 (IIRC) में भी बनाई जाती है। संभवतः यह जावा कमांड निष्पादित है, क्योंकि C: \ WINNT \ system32 आपके PATH में JDK / बिन निर्देशिका से पहले आता है।

PATH की शुरुआत में JDK / bin डायरेक्टरी लगाएं


0

यह सही जावा संस्करण की रिपोर्ट करेगा और यह आपको यह भी बताएगा कि समस्या क्या है:

@ECHO off
ECHO ---------------
SET "JAVA_HOME=C:\Path to wherever\JDKwhatever"
SET "PATH=%JAVA_HOME%\bin;%PATH%"
java -version
ECHO ---------------
pause

0

मेरा सुझाव है कि आप सभी JDKs और JREs की स्थापना रद्द करें। उसके बाद, आप नवीनतम JDK स्थापित करते हैं और आप अपने classpath, JAVA_HOME और पथ को अपडेट करते हैं। इसने मेरे लिए काम किया।


-1

जैसा कि मुझे हाल ही में पता चला है, सुनिश्चित करें कि आप JAVA_HOME"सिस्टम चर" खंड में परिभाषित कर रहे हैं और "उपयोगकर्ता चर" खंड नहीं।

मैं %JAVA_HOME%\binशुरू में था , PATHलेकिन यह काम नहीं कर रहा था - JAVA_HOMEसिस्टम को जोड़ने से समस्या ठीक हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.