टी एल; डॉ
अनुभवी पाठकों के लिए:
- जावा पथ खोजें; यह इस तरह दिख रहा है:
C:\Program Files\Java\jdkxxxx\bin\
- विकल्प संवाद खोलने के लिए "पर्यावरण चर" के लिए स्टार्ट-मेनू खोज।
- परीक्षा
PATH
। पुराने जावा पथ निकालें।
- नया जावा पथ जोड़ें
PATH
।
- संपादित करें
JAVA_HOME
।
- कंसोल और आईडीई बंद करें और फिर से खोलें।
स्वागत हे!
आपने जावा शुरुआती: 'xyz' is not recognized as an internal or external command...
त्रुटि संदेश का सामना करने वाले सबसे कुख्यात तकनीकी मुद्दों में से एक का सामना किया है ।
संक्षेप में, आपने जावा को सही तरीके से स्थापित नहीं किया है । विंडोज पर जावा की स्थापना को अंतिम रूप देना कुछ मैनुअल चरणों की आवश्यकता है। जावा को स्थापित करने के बाद आपको हमेशा ये चरण करने चाहिए, जिसमें JDK को अपग्रेड करने के बाद भी शामिल होना चाहिए।
पर्यावरण चर और PATH
(यदि आप पहले से ही इसे समझते हैं, तो बेझिझक अगले तीन सेक्शन छोड़ें।)
जब आप चलाते हैं javac HelloWorld.java
, तो cmd को यह निर्धारित करना चाहिए कि कहां javac.exe
स्थित है। यह PATH
एक पर्यावरण चर के साथ पूरा किया गया है ।
एक पर्यावरण चर एक विशेष कुंजी-मूल्य जोड़ी (जैसे windir=C:\WINDOWS
) है। अधिकांश ऑपरेटिंग सिस्टम के साथ आए, और कुछ उचित सिस्टम कामकाज के लिए आवश्यक हैं। जब यह शुरू होता है तो उनकी एक सूची हर कार्यक्रम (cmd सहित) को दी जाती है। विंडोज पर , दो प्रकार हैं : उपयोगकर्ता पर्यावरण चर और सिस्टम पर्यावरण चर ।
आप अपने पर्यावरण चर इस तरह देख सकते हैं:
C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\craig\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
...
सबसे महत्वपूर्ण चर है PATH
। यह उन रास्तों की सूची है, जिनके द्वारा अलग किया गया है;
। जब एक कमांड को cmd में दर्ज किया जाता है, तो सूची में प्रत्येक निर्देशिका को मिलान योग्य निष्पादन के लिए स्कैन किया जाएगा।
मेरे कंप्यूटर पर PATH
है:
C:\>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPower
Shell\v1.0\;C:\ProgramData\Microsoft\Windows\Start Menu\Programs;C:\Users\craig\AppData\
Roaming\Microsoft\Windows\Start Menu\Programs;C:\msys64\usr\bin;C:\msys64\mingw64\bin;C:\
msys64\mingw32\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Yarn\bin\;C:\Users\
craig\AppData\Local\Yarn\bin;C:\Program Files\Java\jdk-10.0.2\bin;C:\ProgramFiles\Git\cmd;
C:\Program Files\Oracle\VirtualBox;C:\Program Files\7-Zip\;C:\Program Files\PuTTY\;C:\
Program Files\launch4j;C:\Program Files (x86)\NSIS\Bin;C:\Program Files (x86)\Common Files
\Adobe\AGL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program
Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\iCLS Client\;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\iCLS
Client\;C:\Users\craig\AppData\Local\Microsoft\WindowsApps
जब आप चलाते हैं javac HelloWorld.java
, तो cmd, यह महसूस करने पर कि आंतरिक कमांडjavac
नहीं है, उपयोगकर्ता द्वारा पीछा की गई प्रणाली को खोजता है । यह यंत्रवत् सूची में हर निर्देशिका में प्रवेश करती है, और इसकी जांच करता है , , , आदि मौजूद है। जब मिलता है , तो इसे चलाता है। जब यह नहीं होता है, यह प्रिंट करता हैPATH
PATH
javac.com
javac.exe
javac.bat
javac
'javac' is not recognized as an internal or external command, operable program or batch file.
आपको Java निष्पादक निर्देशिका को जोड़ना होगा PATH
।
JDK बनाम JRE
(यदि आप पहले से ही इसे समझते हैं, तो इस अनुभाग को छोड़ने के लिए स्वतंत्र महसूस करें।)
जावा डाउनलोड करते समय, आपको इसके बीच एक विकल्प की पेशकश की जाती है:
- जावा रनटाइम एनवायरनमेंट (JRE) है, जो आवश्यक उपकरण शामिल हैं जावा प्रोग्राम को चलाने के लिए, लेकिन नहीं नए लोगों को संकलित करने के लिए - यह होता है
java
लेकिन नहींjavac
।
- जावा डेवलपमेंट किट (JDK), जो दोनों शामिल हैं
java
और javac
अन्य विकास उपकरण के एक मेजबान के साथ। JDK JRE का सुपरसेट है।
आपको यह सुनिश्चित करना होगा कि आपने JDK स्थापित किया है । यदि आपने केवल JRE स्थापित किया है, तो आप निष्पादित नहीं कर सकतेjavac
क्योंकि आपके हार्ड ड्राइव पर जावा कंपाइलर की स्थापना नहीं है। अपनी विंडोज प्रोग्राम सूची की जाँच करें, और सुनिश्चित करें कि जावा पैकेज के नाम में "विकास किट" शब्द शामिल हैं।
उपयोग न करें set
(यदि आप किसी भी तरह की योजना नहीं बना रहे थे, तो इस अनुभाग को छोड़ने के लिए स्वतंत्र महसूस करें।)
कई अन्य उत्तर कुछ भिन्नताओं को निष्पादित करने की सलाह देते हैं:
C:\>:: DON'T DO THIS
C:\>set PATH=C:\Program Files\Java\jdk1.7.0_09\bin
ऐसा मत करो। उस आदेश के साथ कई प्रमुख समस्याएं हैं:
- यह कमांड बाकी सब चीज़ों को मिटा देता है और
PATH
इसे जावा पथ के साथ बदल देता है। इस कमांड को निष्पादित करने के बाद, आपको विभिन्न अन्य कमांड काम नहीं कर सकते हैं।
- आपका जावा पथ शायद नहीं है
C:\Program Files\Java\jdk1.7.0_09\bin
- आपके पास निश्चित रूप से जेडीके का एक नया संस्करण है, जिसमें एक अलग रास्ता होगा।
- नया
PATH
केवल वर्तमान cmd सत्र पर लागू होता है। set
कमांड प्रॉम्प्ट खोलने पर आपको हर बार कमांड को फिर से दर्ज करना होगा ।
अंक # 1 और # 2 को इस बेहतर संस्करण के साथ हल किया जा सकता है:
C:\>:: DON'T DO THIS EITHER
C:\>set PATH=C:\Program Files\Java\<enter the correct Java folder here>\bin;%PATH%
लेकिन यह सामान्य रूप से सिर्फ एक बुरा विचार है।
जावा पथ खोजें
सही तरीका यह खोजने से शुरू होता है कि आपने जावा कहां स्थापित किया है। यह कैसे पर निर्भर करता है आपने जावा को स्थापित किया है।
Exe इंस्टॉलर
आपने सेटअप प्रोग्राम चलाकर जावा स्थापित किया है। ओरेकल का इंस्टॉलर जावा C:\Program Files\Java\
(या C:\Program Files (x86)\Java\
) के तहत जावा के संस्करण रखता है । फ़ाइल एक्सप्लोरर या कमांड प्रॉम्प्ट के साथ, उस निर्देशिका में नेविगेट करें।
प्रत्येक सबफ़ोल्डर जावा के एक संस्करण का प्रतिनिधित्व करता है। अगर एक ही है, तो तुमने पा लिया है। अन्यथा, वह चुनें जो नए संस्करण की तरह दिखता है। सुनिश्चित करें कि फ़ोल्डर का नाम jdk
(विरोध के अनुसार jre
) से शुरू होता है । निर्देशिका दर्ज करें।
फिर दर्ज करें bin
निर्देशिका ।
अब आप सही निर्देशिका में हैं। रास्ते की नकल करो। यदि फ़ाइल एक्सप्लोरर में, पता बार पर क्लिक करें। यदि कमांड प्रॉम्प्ट में, कॉपी करें करें।
परिणामी जावा पथ (उद्धरण के बिना) के रूप में होना चाहिए:
C:\Program Files\Java\jdkxxxx\bin\
ज़िप फ़ाइल
आपने JDK युक्त एक .zip डाउनलोड किया है। इसे कुछ यादृच्छिक स्थान पर निकालें जहां यह आपके रास्ते में नहीं आएगा; C:\Java\
एक स्वीकार्य विकल्प है।
फिर उसके bin
भीतर कहीं फ़ोल्डर खोजें ।
अब आप सही निर्देशिका में हैं। इसकी राह की नकल करो। यह जावा पथ है।
याद रखें कि फ़ोल्डर को कभी भी स्थानांतरित न करें, क्योंकि यह पथ को अमान्य कर देगा।
सेटिंग्स संवाद खोलें
वह संवाद संपादित करने के लिए है PATH
। उस संवाद को पाने के कई तरीके हैं, जो आपके विंडोज संस्करण, यूआई सेटिंग्स और आपके सिस्टम कॉन्फ़िगरेशन को कैसे गड़बड़ करता है, इस पर निर्भर करता है।
इनमें से कुछ आज़माएँ:
- प्रारंभ मेनू / टास्कबार खोज बॉक्स »" पर्यावरण चर "के लिए खोज
- विन + आर »
control sysdm.cpl,,3
- विन + आर »
SystemPropertiesAdvanced.exe
» पर्यावरण चर
- फाइल एक्सप्लोरर »एड्रेस बार में टाइप करें
Control Panel\System and Security\System
» उन्नत सिस्टम सेटिंग्स (साइडबार में बाईं ओर) »पर्यावरण चर
- डेस्कटॉप »इस पीसी पर राइट-क्लिक करें» गुण »उन्नत सिस्टम सेटिंग्स» पर्यावरण चर
- प्रारंभ मेनू »कंप्यूटर पर राइट-क्लिक करें» गुण »उन्नत सिस्टम सेटिंग्स» पर्यावरण चर
- नियंत्रण कक्ष (आइकन मोड) »प्रणाली» उन्नत प्रणाली सेटिंग्स »पर्यावरण चर
- नियंत्रण कक्ष (श्रेणी मोड) »प्रणाली और सुरक्षा» प्रणाली »उन्नत प्रणाली सेटिंग्स» पर्यावरण चर
- डेस्कटॉप »राइट-क्लिक करें मेरा कंप्यूटर» उन्नत »पर्यावरण चर
- नियंत्रण कक्ष »प्रणाली» उन्नत »पर्यावरण चर
इनमें से कोई भी आपको सही सेटिंग्स डायलॉग पर ले जाना चाहिए।
यदि आप विंडोज 10 पर हैं, तो Microsoft ने आपको संपादित करने के लिए एक नए UI के साथ आशीर्वाद दिया है PATH
। अन्यथा, आप PATH
इसके पूर्ण अर्धविराम-अतिक्रमित महिमा को देखेंगे , जिसे एकल-पंक्ति वाले टेक्स्टबॉक्स में निचोड़ा जाएगा। अपने सिस्टम को तोड़े बिना आवश्यक संपादन करने की पूरी कोशिश करें।
स्वच्छ PATH
को देखो PATH
। आपके पास निश्चित रूप से दो PATH
चर हैं (उपयोगकर्ता बनाम सिस्टम पर्यावरण चर के कारण)। आपको दोनों को देखने की जरूरत है।
अन्य जावा पथों के लिए जाँच करें और उन्हें हटा दें। उनका अस्तित्व सभी प्रकार के संघर्षों का कारण बन सकता है। (उदाहरण के लिए, यदि आपके पास PATH
उस क्रम में JRE 8 और JDK 11 हैं , तो javac
Java 11 संकलक को आमंत्रित करेगा, जो संस्करण 55 .class
फ़ाइलों का निर्माण करेगा , लेकिन java
Java 8 JVM का आह्वान करेगा, जो केवल संस्करण 52 तक का समर्थन करता है, और) आप असमर्थित संस्करण त्रुटियों का अनुभव करेंगे और किसी भी प्रोग्राम को संकलित करने और चलाने में सक्षम नहीं होंगे।) इन समस्याओं को सुनिश्चित करें कि आपके पास केवल एक जावा पथ है PATH
। और जब आप इस पर हों, तो आप पुराने जावा संस्करणों को भी अनइंस्टॉल कर सकते हैं। और याद रखें कि आपको JDK और JRE दोनों की आवश्यकता नहीं है ।
यदि आपके पास है C:\ProgramData\Oracle\Java\javapath
, तो उसे भी हटा दें । ओरेकल ने एक प्रतीकात्मक लिंक बनाकर उन्नयन के बाद जावा पथों की समस्या को हल करने का इरादा किया जो हमेशा नवीनतम जावा इंस्टॉलेशन की ओर इशारा करता है। दुर्भाग्य से, यह अक्सर गलत स्थान की ओर इशारा करता है या बस काम नहीं करता है । इस प्रविष्टि को हटाने और जावा पथ को मैन्युअल रूप से प्रबंधित करने के लिए बेहतर है।
अब सामान्य हाउसकीपिंग करने का एक अच्छा अवसर है PATH
। यदि आपके पास सॉफ़्टवेयर से संबंधित पथ हैं जो अब आपके पीसी पर स्थापित नहीं हैं, तो आप उन्हें हटा सकते हैं। आप आसपास के रास्तों के क्रम में फेरबदल भी कर सकते हैं (यदि आप इस तरह की चीजों की परवाह करते हैं)।
में जोड़े PATH
अब आपको तीन कदम पहले मिला जावा पथ लें, और इसे सिस्टम में रखें PATH
।
इससे कोई फर्क नहीं पड़ता कि सूची में आपका नया रास्ता कहाँ जाता है; इसे अंत में रखना एक अच्छा विकल्प है।
यदि आप प्री-विंडोज 10 यूआई का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपने अर्धविराम को सही तरीके से रखा है। सूची में हर पथ को अलग करने वाला एक होना चाहिए।
यहाँ कहने के लिए वास्तव में बहुत कुछ नहीं है। बस करने के लिए पथ जोड़ें PATH
और ठीक क्लिक करें।
सेट JAVA_HOME
जब आप इस पर होते हैं, तो आप साथ ही साथ सेट कर सकते हैं JAVA_HOME
। यह एक और पर्यावरण चर है जिसमें जावा पथ भी होना चाहिए। कई जावा और गैर-जावा प्रोग्राम, लोकप्रिय जावा बिल्ड सिस्टम मावेन और ग्रैडल सहित, त्रुटियों को ठीक से सेट नहीं होने पर फेंक देंगे।
यदि JAVA_HOME
मौजूद नहीं है, तो इसे एक नए सिस्टम वातावरण चर के रूप में बनाएं। इसे निर्देशिका के बिना जावा निर्देशिका के पथ पर सेट करें bin/
, अर्थात C:\Program Files\Java\jdkxxxx\
।
JAVA_HOME
जावा को अपग्रेड करने के बाद संपादित करना भी याद रखें ।
बंद करें और कमांड प्रॉम्प्ट को फिर से खोलें
यद्यपि आपने संशोधित किया है PATH
, सभी चल रहे प्रोग्राम, जिनमें cmd शामिल है, केवल पुराने को देखें PATH
। ऐसा इसलिए है क्योंकि सभी पर्यावरण चर की सूची को केवल एक कार्यक्रम में कॉपी किया जाता है जब इसे निष्पादित करना शुरू होता है; इसके बाद, यह केवल कैश्ड कॉपी को सुरक्षित रखता है।
सीएमडी के पर्यावरण चर को ताज़ा करने का कोई अच्छा तरीका नहीं है , इसलिए बस कमांड प्रॉम्प्ट को बंद करें और इसे फिर से खोलें। यदि आप एक आईडीई का उपयोग कर रहे हैं, तो उसे भी बंद करें और फिर से खोलें।
यह सभी देखें