Bagaimana mengatur variabel lingkungan secara permanen PATH dan M2_HOME di ubuntu untuk maven3?

30

Saya telah men-download file apache-maven3.zip terbaru dan diekstrak ke folder: /home/gaurav/Java/maven3.

Saya tidak tahu cara mengatur variabel lingkungan untuk pakar - seperti PATH dan M2_HOME.

Saya mencoba beberapa hal di bawah ini:

export M2_HOME=/home/gaurav/Java/maven3

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

Setelah mengatur itu, saya berlari mvn --versiondan itu berjalan dengan benar.

Tetapi ketika lain kali saya memulai mesin saya, dan mengetik $M2_HOME, itu tidak menunjukkan kepada saya rincian variabel path, juga tidak mvn --versiondieksekusi.

Tolong bantu saya untuk mengatasi masalah ini pengaturan variabel lingkungan secara permanen di Ubuntu.

Gaurav Dighe
sumber
Lihatlah ini
Mitch

Jawaban:

22

Pembaruan: Eliah menunjukkan kepada saya bahwa jika Anda tidak secara dinamis membangun variabel lingkungan Anda, Anda harus menyimpannya /etc/environment. Untuk mengatur M2_HOMEdan menambahkan bindirektori ke Anda PATH, Anda akan memodifikasi /etc/environmentsebagai berikut. Pastikan Anda tidak hanya menyalin / menempel, karena /etc/environmentfile Anda mungkin memiliki PATHvariabel berbeda dari saya.

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"


Metode alternatif (tidak seperti yang disarankan): Seperti kata Mitch, Anda harus mengedit file konfigurasi untuk mengubah PATH Anda secara permanen. Saya memilih untuk mengedit /etc/profilefile konfigurasi saya , karena ini berlaku untuk seluruh sistem. Untuk mengedit file ini, jalankan sudo nano /etc/profilekutipan berikut dari file konfigurasi saya:

# /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
Connor Brinton
sumber
1
Alasan untuk tidak hanya menempatkan JAVA_HOME, M2_HOMEdan M2definisi dalam /etc/environment, bukan?
Eliah Kagan
Itu pasti hal yang semantik benar untuk dilakukan (karena /etc/environmentmerupakan tempat yang disarankan untuk menyimpan variabel lingkungan sistem-lebar). Tapi saya hanya ingin menjaga semua variabel lingkungan saya di tempat yang sama. Jika ada cara saya bisa secara dinamis membangun PATHvariabel saya hanya menggunakan /etc/environment, saya akan segera beralih.
Connor Brinton
1
Karena itulah motivasi Anda, Anda mungkin ingin menambahkan menggunakan /etc/environmentsebagai alternatif, mengingat bahwa tujuan menempatkan semua tugas variabel lingkungan Anda di tempat yang sama belum tentu tujuan OP ini atau tujuan kebanyakan orang lain yang datang dengan pertanyaan ini. Juga, Anda mungkin ingin memeriksa kembali tujuan itu: Sebagian besar waktu, variabel lingkungan harus ditambahkan pada tingkat akun pengguna, untuk mempengaruhi hanya satu pengguna. (Kemudian mereka bisa masuk ~/.pam_environmentatau ~/.profile.) Memang benar bahwa beberapa tugas variabel lingkungan adalah dinamis dan harus dalam skrip.
Eliah Kagan
@ connor.brinton meskipun saya mengatakan path menggunakan metode di atas (mengedit /etc/environment) path saya masih belum disetel
Kasun Siyambalapitiya
3

Anda harus menambahkan PATH Anda ke /etc/bash.bashrc sebagai root.

Dari root lakukan langkah-langkah ini:

  1. sudo nano /etc/bash.bashrc
  2. Di akhir file, tambahkan baris berikut:

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

Ini hanya alamat semu. Ubah sesuai dengan alamat yang Anda inginkan dan tambahkan :$PATHsetelahnya.

Ini untuk Ubuntu.

Kopi dan kode
sumber