Java PATH सेटअप समझाया गया: Windows, macOS, और Linux पर JAVA_HOME कैसे कॉन्फ़िगर करें

目次

परिचय

जावा एक प्रोग्रामिंग भाषा है जो दुनिया भर में विभिन्न प्रकार के सिस्टमों और एप्लिकेशन विकास में उपयोग की जाती है। जो लोग जावा सीखना अभी शुरू कर रहे हैं या नया विकास वातावरण सेटअप कर रहे हैं, उनके लिए पहली चुनौतियों में से एक PATH कॉन्फ़िगरेशन का मुद्दा है।

कई लोग सोचते हैं, “जावा PATH क्या है?” या “मुझे इसे कॉन्फ़िगर करने की क्यों आवश्यकता है?” वास्तव में, PATH कॉन्फ़िगरेशन एक महत्वपूर्ण पहला कदम है—एक “प्रवेश बिंदु” जो आपके कंप्यूटर पर जावा को ठीक से काम करने की अनुमति देता है। यदि PATH सही ढंग से कॉन्फ़िगर नहीं किया गया है, तो आप कमांड लाइन या विकास उपकरणों से जावा चला नहीं पाएंगे, जिससे विभिन्न त्रुटियां और समस्या निवारण की परेशानियां उत्पन्न होंगी।

इस लेख में, हम जावा PATH और JAVA_HOME को शुरुआत से ही शुरुआती लोगों के अनुकूल तरीके से समझाते हैं। हम विंडोज़, macOS और लिनक्स के लिए ठोस सेटअप प्रक्रियाओं को कवर करते हैं, साथ ही समस्या निवारण युक्तियां और सामान्य गलतियां। जब कुछ गलत हो जाए तो आप भरोसा कर सकते हैं ऐसी व्यावहारिक मार्गदर्शन भी मिलेगा।

हमारा लक्ष्य आपको जावा PATH कॉन्फ़िगरेशन में अटकने से बचाने में मदद करना है। चाहे आप जावा के नए हों या वातावरण सेटअप से जूझ रहे हों, यह गाइड आपको आत्मविश्वास के साथ एक विश्वसनीय विकास वातावरण बनाने में मदद करेगा।

2. मूल अवधारणाएं: PATH, JAVA_HOME, और CLASSPATH

जावा वातावरण सेटअप करते समय, आपको तीन मुख्य शब्दों से अक्सर सामना होगा: PATH, JAVA_HOME, और CLASSPATH। प्रत्येक का अलग उद्देश्य होता है, और इन्हें स्पष्ट रूप से समझने से वातावरण सेटअप बहुत आसान हो जाएगा।

PATH क्या है?

PATH एक पर्यावरण चर है जो विंडोज़, macOS और लिनक्स जैसे ऑपरेटिंग सिस्टमों द्वारा उपयोग किया जाता है। जब कोई निर्देशिका पथ PATH में रजिस्टर किया जाता है, तो उस निर्देशिका में स्थित निष्पादन योग्य प्रोग्रामों को कमांड प्रॉम्प्ट या टर्मिनल से सीधे चलाया जा सकता है।

उदाहरण के लिए, यदि जावा इंस्टॉलेशन निर्देशिका PATH में शामिल है, तो आप किसी भी निर्देशिका से java और javac कमांड निष्पादित कर सकते हैं।

JAVA_HOME क्या है?

JAVA_HOME एक पर्यावरण चर है जो दर्शाता है कि जावा डेवलपमेंट किट (JDK) कहां इंस्टॉल है। कई विकास उपकरण—जैसे Maven, Gradle और Eclipse—JAVA_HOME का उपयोग करके JDK को स्वचालित रूप से ढूंढते हैं।

JAVA_HOME को JDK इंस्टॉलेशन निर्देशिका पर सेट किया जाना चाहिए, उदाहरण के लिए: C:\Program Files\Java\jdk-17

CLASSPATH क्या है?

CLASSPATH निर्दिष्ट करता है कि जावा संकलन और निष्पादन के दौरान क्लास फाइलों और लाइब्रेरीज़ (जैसे .jar फाइलों) के लिए कहां देखता है।

PATH के विपरीत, CLASSPATH कुछ ऐसा नहीं है जिसे आपको अक्सर कॉन्फ़िगर करने की आवश्यकता हो। हालांकि, कस्टम लाइब्रेरीज़ के साथ काम करते समय यह उपयोगी होता है। सावधान रहें: गलत CLASSPATH सेटिंग्स अक्सर “क्लास नहीं मिली” त्रुटियां पैदा करती हैं। शुरुआती लोगों को पहले PATH और JAVA_HOME को समझने पर ध्यान केंद्रित करना चाहिए।

शब्दावली का संदर्भ

यदि आप इन शब्दों को बाद में दोबारा देखना चाहते हैं, तो इस लेख के अंत में शब्दावली देखें।

PATH, JAVA_HOME, और CLASSPATH जावा विकास और निष्पादन के मूलभूत तत्व हैं। उनकी भूमिकाओं और उद्देश्यों को समझने से शुरुआत करें।

3. जावा PATH कॉन्फ़िगरेशन कब और क्यों आवश्यक है

जावा PATH कॉन्फ़िगरेशन सीखने वालों और पेशेवर डेवलपर्स दोनों के लिए आवश्यक है। हालांकि, कई लोग पूछते हैं, “PATH कॉन्फ़िगरेशन क्यों आवश्यक है?” या “यह कब मायने रखता है?” यह खंड उन विशिष्ट परिदृश्यों की व्याख्या करता है जहां PATH की आवश्यकता होती है और यह प्रदान करने वाले लाभ।

जावा कमांड का उपयोग करने के लिए आवश्यक

PATH कॉन्फ़िगर करने का प्राथमिक कारण कमांड प्रॉम्प्ट या टर्मिनल में कहीं से भी java और javac जैसी कमांड निष्पादित करने की अनुमति देना है।

यदि जावा निर्देशिका PATH में शामिल नहीं है, तो भले ही जावा सही ढंग से इंस्टॉल हो, आपको कमांड नहीं मिलने की त्रुटियां दिखाई दे सकती हैं।

विकास और बिल्ड उपकरणों के साथ एकीकरण

कई विकास उपकरण—जैसे IDE (Eclipse, IntelliJ IDEA) और बिल्ड उपकरण (Maven, Gradle)—आंतरिक रूप से java और javac को कॉल करते हैं।

यदि PATH या JAVA_HOME सही ढंग से कॉन्फ़िगर नहीं किया गया है, तो ये उपकरण प्रोजेक्ट बिल्ड या निष्पादन के दौरान विफल हो सकते हैं।

कई जावा संस्करणों के बीच स्विचिंग

वास्तविक विकास में, कई जावा संस्करणों का उपयोग करना सामान्य है, उदाहरण के लिए जावा 8 और जावा 17। PATH और JAVA_HOME को बदलकर, आप प्रत्येक प्रोजेक्ट के लिए उपयुक्त जावा संस्करण आसानी से चुन सकते हैं।

यह संगतता का परीक्षण करने और लेगेसी सिस्टम को बनाए रखने को आसान बनाता है।

सामान्य समस्याओं से बचाव

गलत PATH कॉन्फ़िगरेशन अक्सर समस्याओं का कारण बनता है, जैसे: जावा कमांड काम नहीं करना या गलत जावा संस्करण का उपयोग होना।

सही PATH सेटअप इन समस्याओं को होने से पहले ही रोकने में मदद करता है।

सारांश

जावा PATH कॉन्फ़िगरेशन कुशल विकास और सीखने के लिए बुनियादी बुनियादी ढांचा है। एक बार जब आप इसे समझ लेते हैं, आपका दैनिक कार्यप्रवाह काफी सुगम हो जाता है। अगले भाग में, हम OS‑विशिष्ट सेटअप प्रक्रियाओं को विस्तार से देखेंगे।

4. ऑपरेटिंग सिस्टम द्वारा जावा PATH और JAVA_HOME कॉन्फ़िगरेशन

इस भाग में, हम तीन प्रमुख ऑपरेटिंग सिस्टम: विंडोज, macOS, और लिनक्स के लिए जावा PATH और JAVA_HOME को चरण‑दर‑चरण कैसे कॉन्फ़िगर करें, समझाते हैं। हम प्रत्येक वातावरण के सामान्य जाल और समस्या निवारण टिप्स भी कवर करते हैं।

4-1. विंडोज

JDK डाउनलोड और इंस्टॉल करना

सबसे पहले, आधिकारिक Oracle वेबसाइट या OpenJDK वितरण साइट से JDK डाउनलोड करें। अधिकांश मामलों में, डिफ़ॉल्ट इंस्टॉलेशन पाथ होगा: C:\Program Files\Java\jdk-<version>

JAVA_HOME सेट करना

  1. फ़ाइल एक्सप्लोरर खोलें और स्थापित JDK डायरेक्टरी खोजें (उदाहरण के लिए, C:\Program Files\Java\jdk-17 )।
  2. स्टार्ट मेन्यू में “Environment Variables” खोजें और “Edit the system environment variables” खोलें।
  3. “Environment Variables” बटन पर क्लिक करें।
  4. “System variables” के अंतर्गत, “New” पर क्लिक करें।
  5. वेरिएबल नाम को JAVA_HOME और वेरिएबल वैल्यू को JDK इंस्टॉलेशन पाथ पर सेट करें।

PATH में जावा जोड़ना

  1. उसी “Environment Variables” विंडो में, Path चुनें और “Edit” पर क्लिक करें।
  2. “New” पर क्लिक करें और %JAVA_HOME%\bin जोड़ें।
  3. सभी विंडो बंद करने के लिए “OK” पर क्लिक करें।

कॉन्फ़िगरेशन की जाँच

कमांड प्रॉम्प्ट खोलें और निम्न कमांड चलाएँ:

java --version
javac --version
echo %JAVA_HOME%

सामान्य गलतियाँ और समाधान

  • परिवर्तनों को प्रभावी बनाने के लिए आपको कमांड प्रॉम्प्ट को पुनः शुरू करना होगा।
  • %JAVA_HOME%\bin में टाइपो या गलत पाथ की जाँच करें।
  • सुनिश्चित करें कि JDK पाथ में कोई अनपेक्षित अक्षर न हों।

4-2. macOS

JDK इंस्टॉल करना

आप आधिकारिक वेबसाइट से या Homebrew का उपयोग करके JDK इंस्टॉल कर सकते हैं:

brew install openjdk@17

JAVA_HOME और PATH कॉन्फ़िगर करना

  1. टर्मिनल खोलें।
  2. अपनी शेल कॉन्फ़िगरेशन फ़ाइल (जैसे .zshrc या .bash_profile ) को संपादित करें।
  3. निम्न पंक्तियों को जोड़ें (पाथ इंस्टॉलेशन के अनुसार बदल सकता है):
    export JAVA_HOME=$(/usr/libexec/java_home -v 17)
    export PATH="$JAVA_HOME/bin:$PATH"
    
  1. चलाकर बदलाव लागू करें:
    source ~/.zshrc
    

सत्यापन

java -version
javac -version
echo $JAVA_HOME

सामान्य समस्याएँ और समाधान

  • कॉन्फ़िगरेशन फ़ाइल में सिंटैक्स त्रुटियों की जाँच करें।
  • सुनिश्चित करें कि आपने source कमांड चलाया है।
  • यदि कई JDK इंस्टॉल हैं, तो सही संस्करण चुनने के लिए /usr/libexec/java_home का उपयोग करें।

4-3. लिनक्स (Ubuntu, CentOS, आदि)

JDK इंस्टॉल करना

Debian‑आधारित वितरण (Ubuntu, आदि):

sudo apt update
sudo apt install openjdk-17-jdk

Red Hat‑आधारित वितरण (CentOS, आदि):

sudo yum install java-17-openjdk-devel

JAVA_HOME और PATH सेट करना

  1. जावा इंस्टॉलेशन पाथ जाँचें:
    readlink -f $(which java)
    
  1. अपनी शेल कॉन्फ़िगरेशन फ़ाइल (उदाहरण के लिए, ~/.bashrc या ~/.profile ) को संपादित करें और जोड़ें:
    export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
  1. बदलाव लागू करें:
    source ~/.bashrc
    

कई JDK इंस्टॉलेशन को संभालना

आप डिफ़ॉल्ट जावा संस्करण को इस कमांड से बदल सकते हैं:

sudo update-alternatives --config java

सत्यापन

java -version
javac -version
echo $JAVA_HOME

Although the steps differ by operating system, the core concept is the same: set JAVA_HOME and add it to PATH. If changes do not take effect, restart your terminal and recheck the configuration.

5. कई जावा संस्करणों का प्रबंधन और स्विचिंग

In many development environments, you need to work with multiple Java versions. For example, legacy systems may require Java 8, while new projects use Java 17. This section explains how to manage and switch between multiple versions efficiently.

कई संस्करण प्रबंधन क्यों महत्वपूर्ण है

  • Java की सिंटैक्स, फीचर और समर्थित लाइब्रेरी संस्करण के अनुसार भिन्न होते हैं।
  • परीक्षण अक्सर विशिष्ट जावा संस्करणों के तहत एप्लिकेशन चलाने की आवश्यकता रखते हैं।
  • बिल्ड टूल्स और पैकेज मैनेजर्स जावा संस्करण चुनने के लिए पर्यावरण वेरिएबल्स पर निर्भर करते हैं।

OS के अनुसार स्विचिंग विधियाँ

Windows

  1. विभिन्न निर्देशिकाओं में कई JDK स्थापित करें।
  2. JAVA_HOME को इच्छित संस्करण की ओर इंगित करने के लिए अपडेट करें।
  3. सुनिश्चित करें कि %JAVA_HOME%\bin PATH में सक्रिय है।
  4. कमांड प्रॉम्प्ट को पुनः शुरू करें और java -version से सत्यापित करें।

macOS

export JAVA_HOME=$(/usr/libexec/java_home -v <version>)

You can place this command in your shell configuration file or execute it temporarily per terminal session.

Linux

sudo update-alternatives --config java
sudo update-alternatives --config javac

IDE और बिल्ड टूल्स में जावा संस्करण निर्दिष्ट करना

  • Eclipse और IntelliJ IDEA जैसे IDE प्रोजेक्ट-वार JDK कॉन्फ़िगरेशन की अनुमति देते हैं।
  • Maven और Gradle जैसे बिल्ड टूल्स कॉन्फ़िगरेशन फ़ाइलों के माध्यम से जावा संस्करण निर्दिष्ट कर सकते हैं।

संस्करण स्विच करते समय महत्वपूर्ण नोट्स

  • हमेशा PATH और JAVA_HOME को संरेखित रखें।
  • परिवर्तन करने के बाद टर्मिनल को पुनः शुरू करें।
  • java -version का उपयोग करके सक्रिय संस्करण की पुष्टि करें।

6. समस्या निवारण और सामान्य गलतियाँ

Even after configuration, issues may occur. Below are common problems and their solutions.

जब जावा कमांड पहचाने नहीं जाते तो चेकलिस्ट

  1. टर्मिनल पुनः शुरू नहीं किया गया
  2. PATH सिंटैक्स त्रुटियाँ
  3. गलत JAVA_HOME मान
  4. अपर्याप्त अनुमतियाँ (Windows)

कई स्थापित संस्करणों को संभालना

  • पहला PATH प्रविष्टि प्राथमिकता लेती है।
  • सुनिश्चित करें कि इच्छित संस्करण पहले दिखाई दे।

सामान्य त्रुटि संदेश

  • कमांड पहचाना नहीं गया : PATH या JAVA_HOME समस्या।
  • क्लास नहीं मिला : CLASSPATH की गलत कॉन्फ़िगरेशन।

7. सर्वोत्तम प्रथाएँ और सुरक्षा विचार

Proper configuration goes beyond basic functionality. These best practices help maintain a secure and efficient environment.

उपयोगकर्ता बनाम सिस्टम पर्यावरण वेरिएबल्स

  • व्यक्तिगत विकास के लिए उपयोगकर्ता-स्तर के वेरिएबल्स का उपयोग करें।
  • साझा परिवेश में सिस्टम-स्तर के वेरिएबल्स का सावधानीपूर्वक उपयोग करें।

टीम और CI/CD परिवेश

  • सिफारिश किए गए जावा संस्करणों का दस्तावेज़ बनाएं।
  • कॉन्फ़िगरेशन को मानकीकृत करने के लिए स्क्रिप्ट या पर्यावरण फ़ाइलों का उपयोग करें।

सुरक्षा विचार

  • संवेदनशील पाथ को उजागर करने से बचें।
  • अनुपयोगी JDK इंस्टॉलेशन को नियमित रूप से हटाएँ।

8. निष्कर्ष

This article covered Java PATH configuration from fundamentals to OS-specific setup, troubleshooting, multi-version management, and best practices.

By understanding environment variables such as PATH, JAVA_HOME, and CLASSPATH, you can build a stable and flexible Java development environment.

Even when issues arise, careful verification and step-by-step troubleshooting will lead you to a solution.

9. अक्सर पूछे जाने वाले प्रश्न

Q1. PATH और CLASSPATH में क्या अंतर है?

PATH यह निर्धारित करता है कि OS निष्पादन योग्य कमांड्स को कहाँ खोजता है। CLASSPATH यह निर्धारित करता है कि जावा क्लासेस और लाइब्रेरीज़ को कहाँ खोजता है।

Q2. क्या JAVA_HOME अनिवार्य है?

Not strictly, but it is strongly recommended for build tools and IDEs.

Q3. PATH कॉन्फ़िगरेशन के बाद जावा क्यों काम नहीं करता?

Most often, the terminal was not restarted.

10. शब्दावली

PATH, JAVA_HOME, CLASSPATH, JDK, JRE, शेल, कमांड प्रॉम्प्ट, संस्करण प्रबंधन, और IDE जावा पर्यावरण कॉन्फ़िगरेशन के लिए आवश्यक अवधारणाएँ हैं।

Q4. Why does an unintended Java version get selected when multiple JDKs are installed?

A:
Java उस संस्करण को चुनता है जिसकी bin डायरेक्टरी PATH वेरिएबल में सबसे पहले आती है। इसके अतिरिक्त, JAVA_HOME का मान, और Linux सिस्टम पर update-alternatives द्वारा चुना गया संस्करण, भी यह निर्धारित करता है कि कौन सा Java संस्करण उपयोग किया जाएगा।

सुनिश्चित करें कि इच्छित Java संस्करण की PATH प्रविष्टि PATH सूची के शीर्ष पर रखी गई हो।

Q5. Why is PATH configuration required for tools like Android Studio or Maven?

A:
इन टूल्स के भीतर Java कमांड और JDK इंस्टॉलेशन पाथ का संदर्भ लिया जाता है। यदि JAVA_HOME सही ढंग से सेट नहीं है, तो “JDK not found” जैसी बिल्ड या निष्पादन त्रुटियाँ हो सकती हैं।

उचित कॉन्फ़िगरेशन Java और विकास टूल्स के बीच सुगम एकीकरण सुनिश्चित करता है।

Q6. Can PATH and JAVA_HOME be switched temporarily?

A:
हां। Windows पर, आप Command Prompt में set कमांड का उपयोग कर सकते हैं। Linux और macOS पर, आप वर्तमान टर्मिनल सत्र के लिए सेटिंग्स को अस्थायी रूप से बदलने हेतु export कमांड का उपयोग कर सकते हैं।

ध्यान रखें कि टर्मिनल बंद होने पर ये परिवर्तन रीसेट हो जाते हैं। स्थायी परिवर्तन के लिए, उपयुक्त पर्यावरण कॉन्फ़िगरेशन फ़ाइलों को अपडेट करें।

10. Glossary and Additional References

PATH

ऑपरेटिंग सिस्टम द्वारा कमांड निष्पादित करते समय खोजे जाने वाले डायरेक्टरीज़ की सूची। यदि java या javac जैसे निष्पादन योग्य फ़ाइलों वाली डायरेक्टरी PATH में पंजीकृत है, तो उन कमांड को किसी भी स्थान से चलाया जा सकता है।

JAVA_HOME

एक पर्यावरण वेरिएबल जो उस डायरेक्टरी की ओर संकेत करता है जहाँ Java Development Kit (JDK) स्थापित है। कई Java विकास और बिल्ड टूल्स इस वेरिएबल का उपयोग करके स्वचालित रूप से JDK स्थान का पता लगाते हैं।

CLASSPATH

एक Java-विशिष्ट पर्यावरण वेरिएबल जो यह निर्धारित करता है कि संकलन और निष्पादन के दौरान Java क्लास फ़ाइलों और लाइब्रेरीज़ (जैसे .jar फ़ाइलें) को कहाँ खोजे। यह मुख्यतः बाहरी या कस्टम लाइब्रेरीज़ के साथ काम करते समय उपयोग किया जाता है।

JDK (Java Development Kit)

Java प्रोग्राम विकसित करने और चलाने के लिए आवश्यक टूल्स का पूर्ण सेट। इसमें Java कंपाइलर (javac), रनटाइम एनवायरनमेंट, और विकास उपयोगिताएँ शामिल हैं।

JRE (Java Runtime Environment)

Java अनुप्रयोग चलाने के लिए आवश्यक वातावरण। यह JDK का हिस्सा है। विकास के लिए JDK आवश्यक है, जबकि केवल निष्पादन के लिए JRE पर्याप्त हो सकता है।

Shell

UNIX-आधारित ऑपरेटिंग सिस्टम जैसे Linux और macOS पर उपयोग किया जाने वाला कमांड-लाइन इंटरफ़ेस। सामान्य उदाहरणों में bash और zsh शामिल हैं।

Command Prompt

Windows सिस्टम पर मानक कमांड-लाइन इंटरफ़ेस, जो उपयोगकर्ताओं को कमांड निष्पादित करने और प्रोग्राम नियंत्रित करने की अनुमति देता है।

Version Management

कई Java संस्करणों के प्रबंधन और स्विच करने के तरीके। उदाहरणों में Linux पर update-alternatives, macOS पर /usr/libexec/java_home, और Windows पर JAVA_HOME और PATH को स्विच करना शामिल है।

IDE (Integrated Development Environment)

Eclipse और IntelliJ IDEA जैसे टूल्स जो कोडिंग, डिबगिंग, बिल्डिंग और निष्पादन को एक ही वातावरण में एकीकृत करते हैं।

Additional References

इस शब्दावली और संदर्भ सूची का उपयोग Java पर्यावरण सेटअप और PATH कॉन्फ़िगरेशन से संबंधित प्रश्नों और समस्याओं को हल करने के लिए करें।