วิธีตั้งค่าตัวแปรสภาพแวดล้อม PATH และ M2_HOME อย่างถาวรใน ubuntu สำหรับ maven3


30

ฉันได้ดาวน์โหลดไฟล์ apache-maven3.zip ล่าสุดและแตกไฟล์ไปยังโฟลเดอร์: /home/gaurav/Java/maven3.

ฉันไม่รู้วิธีตั้งค่าตัวแปรสภาพแวดล้อมสำหรับ maven - เช่น PATH และ M2_HOME

ฉันลองสิ่งต่าง ๆ ด้านล่าง:

export M2_HOME=/home/gaurav/Java/maven3

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

หลังจากตั้งค่านั้นฉันวิ่งmvn --versionและมันทำงานอย่างถูกต้อง

แต่เมื่อครั้งต่อไปฉันจะเริ่มต้นเครื่องของฉันและประเภท$M2_HOMEของมันไม่ได้แสดงให้ฉันดูรายละเอียดของตัวแปรเส้นทางทั้งmvn --versionจะได้รับการดำเนินการ

โปรดช่วยฉันแก้ไขปัญหาการตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรใน Ubuntu


ดูที่นี่
มิทช์

คำตอบ:


22

ปรับปรุง: Eliah /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"


วิธีอื่น (ไม่แนะนำตามที่แนะนำ): เช่นเดียวกับ Mitch ที่กล่าวมาคุณจะต้องแก้ไขไฟล์กำหนดค่าเพื่อเปลี่ยน PATH ของคุณอย่างถาวร ฉันเลือกที่จะแก้ไข/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แทน?
Eliah Kagan

นั่นเป็นสิ่งที่ถูกต้องในเชิงความหมาย (เพราะ/etc/environmentเป็นสถานที่ที่แนะนำให้เก็บตัวแปรสภาพแวดล้อมทั่วทั้งระบบ) แต่ฉันแค่อยากเก็บตัวแปรสภาพแวดล้อมทั้งหมดไว้ในที่เดียวกัน หากมีวิธีที่ฉันสามารถสร้างPATHตัวแปรของฉันแบบไดนามิกโดยใช้เท่านั้น/etc/environmentฉันจะเปลี่ยนทันที
Connor Brinton

1
เนื่องจากนั่นคือแรงบันดาลใจของคุณคุณอาจต้องการเพิ่มการใช้/etc/environmentเป็นทางเลือกโดยพิจารณาว่าเป้าหมายของการกำหนดตัวแปรสภาพแวดล้อมทั้งหมดของคุณไว้ในที่เดียวกันไม่จำเป็นต้องเป็นเป้าหมายของ OP นี้หรือเป้าหมายของคนอื่น ๆ ที่มาด้วยคำถามนี้ นอกจากนี้คุณอาจต้องการตรวจสอบเป้าหมายอีกครั้ง: ส่วนใหญ่แล้วควรเพิ่มตัวแปรสภาพแวดล้อมในระดับบัญชีผู้ใช้เพื่อให้มีผลกับผู้ใช้รายเดียวเท่านั้น (จากนั้นพวกเขาสามารถเข้าไป~/.pam_environmentหรือ~/.profile.) มันเป็นความจริงที่การกำหนดตัวแปรสภาพแวดล้อมบางอย่างเป็นแบบไดนามิกและต้องอยู่ในสคริปต์
Eliah Kagan

@ 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หลังจากนั้น

นี่สำหรับอูบุนตู

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.