2011-12-31 9 views
39

मैं पर्यावरण परिवर्तक का उपयोग करके कुछ पथ स्थापित करने की कोशिश कर रहा हूं। मैंने "सी: \ maven" मान के साथ एक पर्यावरण चर "MAVEN_HOME" जोड़ा। फिर पथ में मैंने "% MAVEN_HOME% \ bin; ... बाकी" जोड़ा। जब मैं "echo $ MAVEN_HOME%" टाइप करता हूं तो मुझे स्क्रीन पर मुद्रित सही "सी: \ maven" मिलता है। लेकिन जब मैं "एमवीएन" टाइप करता हूं जो "बिन" निर्देशिका में बैच फ़ाइल है, तो उसे यह नहीं मिल रहा है।विंडोज 7 पर्यावरण चर पथ में काम नहीं कर रहा है

तो, मैंने मैन्युअल रूप से पथ में पूरा पथ जोड़ा। "सी: \ maven \ bin; ... बाकी" और यह "mvn" ढूंढने और इसे निष्पादित करने में सक्षम था।

क्या कोई मेरी मदद कर सकता है जो मैंने गलत किया?

+0

% PATH% आउटपुट गूंज क्या करता है? – paislee

+3

मुझे एक ही समस्या थी और इसे पथ की लंबाई के मुद्दे के रूप में पाया गया। मैंने मौजूदा पीएटीएच चर में "सी: \ प्रोग्राम फ़ाइलें (x86)" और "सी: \ प्रोग्राम फ़ाइलें" संदर्भों की सभी घटनाओं को प्रतिस्थापित करने के लिए नए पर्यावरण चर, P86 और P64 बनाया है। नया चर (सिस्टम + उपयोगकर्ता) वर्तमान में नए चर के विस्तार के बाद 2754 वर्ण हैं। मैंने समान धागे में पढ़ा है कि सैद्धांतिक सीमा 32 केबी है लेकिन स्पष्ट रूप से यह व्यावहारिक सीमा नहीं है। – hknust

उत्तर

46

मैं बिल्कुल वैसा ही समस्या थी, इसे हल करने, आप दो चीजों में से एक कर सकते हैं:

  • सिस्टम वैरिएबल इन्स में सभी चर डाल दें उपयोगकर्ता tead और उपयोगकर्ता चर

या

  • सभी चर रखो पथ के लिए लोगों को आप चाहते हैं जोड़ सकते हैं और बना सकते हैं या उपयोगकर्ता चर में पथ चर संपादित करते हैं, नहीं प्रणाली में। सिस्टम में पथ चर उपयोगकर्ता चर का विस्तार नहीं करते हैं।

उपरोक्त सभी सही हैं, लेकिन समस्या अभी भी मौजूद है, तो आप प्रणाली रजिस्ट्री की जांच करने, HKEY_CURRENT_USER \ पर्यावरण में, सुनिश्चित करें कि "PATH" कुंजी प्रकार बनाने की जरूरत है REG_EXPAND_SZ (नहीं REG_SZ) है।

+1

हाय @ पीसीएमआईंड, मेरा आरईजीएसजेड पर सेट है, अब मुझे क्या करना चाहिए? –

+0

"पथ" कुंजी (प्रकार REG_SZ के साथ) के मान की एक प्रति बनाएं, "पथ" कुंजी हटाएं, REG_EXPAND_SZ प्रकार के साथ एक नई कुंजी बनाएं और पुराने मान में पेस्ट करें। कंप्यूटर को पुनः शुरू करें। –

+0

यह एक विकल्प हो सकता है। हालांकि, नीचे दिया गया सुझाव अधिक समझ में आता है। यदि कोई अंतरिक्ष प्रकार की समस्या नहीं है, भले ही आप उपयोगकर्ता और सिस्टम स्तर दोनों में परिभाषित हों, तो इसे काम करना चाहिए। – Saman

5

% एम 2% और% JAVA_HOME% को उपयोगकर्ता चर में पैथ चर में जोड़ा जाना चाहिए, सिस्टम चर नहीं।

+0

सच नहीं है। मैं उन्हें सिस्टम चर में है। मेरे लिए, यह पथों में रिक्त स्थान था, जैसे 'सी: \ प्रोग्राम फ़ाइलें', जिसने ओपी समस्या का कारण बना दिया। –

66

चेक अगर वहाँ पिछले पथ और अगले के बीच एक रिक्ति चरित्र है:

गलत: c:\path1; c:\Maven\bin\; c:\path2\

सही: c:\path1;c:\Maven\bin\;c:\path2\

+6

आपने मेरा दिन सर बचाया !!!! आपको बहुत - बहुत धन्यवाद! –

+3

बहुत बहुत धन्यवाद! यह काम करता हैं!!!!! – leon

+2

यह सही है। मेरे लिए काम किया – Saman

5

यदि पाथ विंडोज़ में कोई त्रुटि है तो चुपचाप इसे नजरअंदाज कर देगा। आपके पथ में वस्तुओं के बीच% PATH% या रिक्त स्थान होने जैसी चीजें इसे तोड़ देंगी। चेतावनी दी

+0

यह मेरे लिए काम करता है! इस बारे में कोई जानकारी नहीं थी। – Antinous

14

आपके पथ में वस्तुओं के बीच% पाथ% या रिक्त स्थान जैसी चीजें इसे तोड़ देंगी। चेतावनी दी।

हां, खिड़कियों के पथ जिनमें रिक्त स्थान शामिल हैं, त्रुटियों का कारण बनेंगे। उदाहरण के लिए किसी एप्लिकेशन को सिस्टम% पथ% चर परिभाषा के सामने करने के लिए इस कहा:

C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64; 

जो% पथ% में रास्तों के सभी की वजह से cmd विंडो में सेट नहीं किया जा करने के लिए।

मेरे समाधान जहां जरूरत दोहरे उद्धरण में बढ़ाया पथ वैरिएबल हदबंदी के लिए है:

"C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64; 

रिक्त स्थान इसलिए नजरअंदाज कर दिया जाता है और पूरा पथ चर ठीक प्रकार से पार्स है।

+0

यह * उपयोगकर्ताओं की एक छोटी अल्पसंख्यक के लिए त्रुटियों का कारण बन सकता है। मैं कुछ इसी तरह की जांच कर रहा हूं, लेकिन आपका निष्कर्ष यहां गलत है। अधिकांश उपयोगकर्ताओं में रिक्त स्थान w/o मुद्दे के साथ संलग्न या प्रीपेड पथ होते हैं, अर्धविराम एक अच्छा डिलीमीटर होता है जिसका अर्थ है कि कोई उद्धरण आवश्यक नहीं है, लेकिन हमने पाया है कि कुछ उपयोगकर्ताओं के लिए यह सच हो सकता है। ऐसा क्यों है कि उपयोगकर्ताओं की कुछ छोटी अल्पसंख्यक इस तरह से प्रभावित होती हैं, लेकिन दूसरों को नहीं? इस समय के रूप में अज्ञात। यही कारण है कि उस ऐप ने खुद को जोड़ा, यह कुछ आसान चूक नहीं था। –

4

यह भी सुनिश्चित करें कि आप एक व्यवस्थापक के रूप कमांड प्रॉम्प्ट का उपयोग कर रहे लायक - अपने काम मशीन पर सिस्टम लॉक मतलब जब mvn टाइपिंग है कि मानक cmd सिर्फ सूचना दी mvn नहीं पाया जा सका --version

करने के लिए 'स्टार्ट> सभी प्रोग्राम्स> एक्सेसरीज़' पर क्लिक करें, 'कमांड प्रॉम्प्ट' पर राइट-क्लिक करें और 'व्यवस्थापक के रूप में चलाएं' चुनें।

0

नोटपैड के पथ के मूल्य की प्रतिलिपि बनाएँ और जांचें कि क्या यह टर्मिनल विंडो में गूंज% पथ% से मेल खाता है और यदि आवश्यक हो तो परिवर्तन करें। फिर पुराने पथ मान को हटाएं और नोटपैड मान को वापस पेस्ट करें। मुझे लगता है कि कुछ इंस्टॉलेशन द्वारा दर्ज किए गए कुछ अदृश्य चरित्र पथ मान को दूषित कर देते हैं।

3

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

यह नया सॉफ़्टवेयर स्थापित होने के बाद आसानी से हो सकता है और पाथ में कुछ जोड़ता है, जिससे मौजूदा स्थापित सॉफ़्टवेयर को तोड़ दिया जाता है। विंडोज़ असफल!

सबसे अच्छा फ़िक्स नियंत्रण कक्ष में पाथ चरों में से एक को संपादित करना और उन प्रविष्टियों को निकालना है जिनकी आपको आवश्यकता नहीं है। फिर एक नई सीएमडी विंडो खोलें और देखें कि सभी प्रविष्टियों को "echo% PATH%" में दिखाया गया है या नहीं।

1

मुझे एक ही समस्या थी, मैंने इसे उपयोगकर्ता चर से PATHEXT को हटाकर तय किया। यह केवल सिस्टम वैरिएबल में मौजूद होना चाहिए। .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC

उपयोगकर्ता से चर सिस्टम के लिए और केवल उपयोगकर्ता परिवर्तनीय पर उस पथ को शामिल करें

0

सुनिश्चित करें कि आपके सिस्टम और उपयोगकर्ता पथ दोनों सही तरीके से सेट हैं।

25

मेरे मुद्दा निकला शर्मनाक सरल होने के लिए:

पुनः प्रारंभ कमांड प्रॉम्प्ट और नए चर

+0

मुझे नहीं पता क्यों, लेकिन मेरे लिए काम किया! धन्यवाद!! – nikk

+6

इस उत्तर को अनदेखा न करें; 10 में से 9 बार यह समस्या है। – aguertin

1

अद्यतन करना चाहिए इस समस्या है, मैं setx आदेश का इस्तेमाल किया है जो उपयोगकर्ता स्तर चर सेट करने का प्रयास का समाधान करना।

मैं नीचे इस्तेमाल किया ...

setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_92" 

setx PATH %JAVA_HOME%\bin 

नोट: विंडोज मौजूदा चर मूल्य के लिए प्रदान की चर मूल्य संलग्न करने के लिए प्रयास करें। इसलिए अतिरिक्त% PATH% देने की कोई आवश्यकता नहीं है ...% JAVA_HOME% \ bin की तरह कुछ; % पाथ%

+1

नियंत्रण कक्ष -> सभी नियंत्रण कक्ष आइटम -> उपयोगकर्ता खाते पर जाकर वैकल्पिक तरीका है और फिर बाएं नेविगेशन में 'मेरे पर्यावरण चर बदलें' पर क्लिक करें .. लेकिन किसी भी तरह यह विंडोज 7 और 10 में काम नहीं कर रहा है। माइक्रोसॉफ्ट एड्रेस तक कि हम सेटक्स के उपरोक्त तरीके का उपयोग कर सकते हैं। –

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