Maven3 के लिए ubuntu में पर्यावरण चर PATH और M2_HOME को स्थायी रूप से कैसे सेट करें?


30

मैंने नवीनतम Apache-maven3.zip फ़ाइल डाउनलोड की है और इसे फ़ोल्डर में निकाला है /home/gaurav/Java/maven3:।

मुझे पता नहीं है कि मावेन के लिए पर्यावरण चर कैसे निर्धारित किया जाता है - जैसे कि पाथ और एम 2_होम।

मैंने नीचे की कोशिश की:

export M2_HOME=/home/gaurav/Java/maven3

export PATH= /home/gaurav/Java/maven3/bin:${PATH}

यह स्थापित करने के बाद, मैं भाग गया mvn --versionऔर यह सही ढंग से चल रहा है।

लेकिन जब अगली बार मैं अपनी मशीन शुरू करता हूं, और टाइप करता हूं $M2_HOME, तो यह मुझे पथ चर का विवरण नहीं दिखा mvn --versionरहा है , न ही निष्पादित हो रहा है।

कृपया उबंटू में स्थायी रूप से पर्यावरण चर स्थापित करने की इस समस्या को हल करने में मेरी मदद करें।


पर एक नजर डालें इस
मिच

जवाबों:


22

अपडेट: एलियाह ने मुझे बताया कि यदि आप गतिशील रूप से अपने पर्यावरण चर का निर्माण नहीं कर रहे हैं, तो आपको उन्हें स्टोर करना चाहिए /etc/environment। निर्देशिका को अपने आप में सेट M2_HOMEऔर जोड़ने के binलिए PATH, आप अपने /etc/environmentनिम्नानुसार संशोधित करेंगे। सुनिश्चित करें कि आप सिर्फ कॉपी / पेस्ट नहीं करते हैं, क्योंकि आपकी /etc/environmentफ़ाइल में PATHमेरा से भिन्न चर हो सकता है।

M2_HOME="/home/gaurav/Java/maven3"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/gaurav/Java/maven3/bin"


वैकल्पिक (अनुशंसित नहीं) विधि: जैसे मिच ने कहा, आपको अपने पैट को बदलने के लिए एक कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा। मैंने अपनी /etc/profileकॉन्फ़िगरेशन फ़ाइल को संपादित करना चुना , क्योंकि यह सिस्टम-वाइड लागू होता है। इस फ़ाइल को संपादित करने sudo nano /etc/profileके लिए, मेरी कॉन्फ़िगरेशन फ़ाइल से संबंधित अंश यहां प्रस्तुत करें:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

JAVA_HOME=/usr/lib/jvm/java-6-oracle/
export JAVA_HOME

M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
export M2_HOME
M2=$M2_HOME/bin
export M2

PATH=$PATH:$JAVA_HOME
PATH=$PATH:$M2
export PATH

1
किसी भी कारण से अभी नहीं डाल करने के लिए JAVA_HOME, M2_HOMEऔर M2में परिभाषाओं /etc/environment, बजाय?
एलिया कागन

यह निश्चित रूप से करने के लिए शब्दार्थ सही है (क्योंकि /etc/environmentसिस्टम-वाइड वातावरण चर को संग्रहीत करने के लिए अनुशंसित स्थान है)। लेकिन मैं बस अपने सभी पर्यावरण चर एक ही जगह पर रखना चाहता था। अगर कोई ऐसा तरीका था जिससे मैं PATHकेवल अपने चर का उपयोग गतिशील रूप से कर सकता था /etc/environment, तो मैं तुरंत स्विच कर दूंगा ।
कॉनर ब्रिंटन

1
चूंकि यह आपकी प्रेरणा है, आप /etc/environmentएक विकल्प के रूप में उपयोग करना चाहते हैं , यह देखते हुए कि आपके सभी पर्यावरण चर असाइनमेंट को एक ही स्थान पर रखने का लक्ष्य यह ओपी का लक्ष्य या इस सवाल से आने वाले अधिकांश अन्य लोगों के लक्ष्य के लिए आवश्यक नहीं है । इसके अलावा, आप उस लक्ष्य को फिर से जांचना चाह सकते हैं: अधिकांश समय, पर्यावरण चर को केवल एक उपयोगकर्ता को प्रभावित करने के लिए, उपयोगकर्ता खाते के स्तर पर जोड़ा जाना चाहिए। (तब वे में जा सकते हैं ~/.pam_environmentया ~/.profile।) यह सच है कि कुछ वातावरण चर कार्य गतिशील हैं और स्क्रिप्ट में होना चाहिए।
एलियाह कगन

@ connor.brinton हालांकि मैंने कहा कि उपरोक्त विधि का उपयोग करके पथ (संपादन /etc/environment) मेरा पथ अभी भी सेट नहीं है
Kasun Siyambalapitiya

3

आपको अपने PATH को /etc/bash.bashrc पर रूट के रूप में जोड़ना होगा।

मूल से ये चरण करें:

  1. sudo nano /etc/bash.bashrc
  2. फ़ाइल के अंत में, निम्न पंक्ति जोड़ें:

    PATH=/home/computer/application/bin:$PATH  
    

यह सिर्फ एक छद्म पता है। इसे अपने इच्छित पते के अनुसार बदलें और इसके :$PATHबाद जोड़ें ।

यह उबंटू के लिए है।

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