Maven3 için ubuntu'da çevresel değişkenleri PATH ve M2_HOME kalıcı olarak nasıl ayarlayabilirim?


30

Ben en son apache-maven3.zip dosyasını indirip klasöre ayıkladıktan: /home/gaurav/Java/maven3.

PATH ve M2_HOME gibi maven için çevresel değişkenleri nasıl ayarlayacağımı bilmiyorum.

Bazı şeyleri denedim:

export M2_HOME=/home/gaurav/Java/maven3

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

Ayarladıktan sonra koştum mvn --versionve doğru çalışıyor.

Fakat bir dahaki sefere makineme başladığımda ve yazdığımda $M2_HOME, bu da bana yol değişkenlerinin ayrıntılarını göstermiyor.mvn --version de yürütülmüyor.

Lütfen Ubuntu’da ortam değişkenlerini kalıcı olarak ayarlama konusunda bu sorunu çözmeme yardım edin.


Bir göz atın Bu
Mitch

Yanıtlar:


22

Güncelleme: Eliah, ortam değişkenlerinizi dinamik olarak oluşturmadıysanız, bunları saklamanız gerektiğini belirtti /etc/environment. Dizini kendinize ayarlamak M2_HOMEve eklemek biniçin PATH, /etc/environmentaşağıdaki şekilde değiştirirsiniz . Sadece kopyalayıp yapıştırmadığınızdan emin olun, çünkü /etc/environmentdosyanızın PATHbenimkinden farklı bir değişkeni olabilir .

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"


Alternatif (önerilmez) yöntem: Mitch'in dediği gibi, PATH'inizi kalıcı olarak değiştirmek için bir yapılandırma dosyasını düzenlemeniz gerekir. /etc/profileYapılandırma dosyamı düzenlemeyi seçtim , çünkü sistem genelinde geçerli. Bu dosyayı düzenlemek için, çalıştır sudo nano /etc/profileİşte yapılandırma dosyamdan ilgili alıntı:

# /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
Herhangi bir neden sadece koymak değil JAVA_HOME, M2_HOMEve M2de tanımları /etc/environmentyerine,?
Eliah Kagan

Bu kesinlikle anlamsal olarak yapılacak bir şeydir (çünkü /etc/environmentsistem genelinde çevre değişkenlerini saklamak için önerilen yer). Ancak sadece tüm ortam değişkenlerimi aynı yerde tutmak istedim. PATHDeğişkenimi sadece dinamik kullanarak inşa edebilmemin bir yolu /etc/environmentolsaydı, hemen değiştirirdim.
Connor Brinton

1
Bu sizin motivasyonunuz olduğundan, /etc/environmenttüm çevre değişkeni ödevlerinizi aynı yere koymak amacının mutlaka bu OP'nin amacı veya bu soruya gelen diğer insanların çoğunun hedefi olmadığını dikkate alarak eklemek isteyebilirsiniz . Ayrıca, bu hedefi tekrar incelemek isteyebilirsiniz: Çoğu zaman, ortam değişkenlerinin yalnızca bir kullanıcıyı etkilemek için kullanıcı hesabı düzeyinde eklenmesi gerekir. (Sonra içeri gidebilir ~/.pam_environmentya ~/.profile.) Bazı ortam değişkeni atamaları dinamiktir ve komut olmalıdır doğrudur.
Eliah Kagan

@ connor.brinton, yukarıdaki yöntemi kullanarak (düzenleme yaparak /etc/environment)
yolumun

3

PATH'inizi /etc/bash.bashrc dosyasına root olarak eklemelisiniz.

Kökünden şu adımları uygulayın:

  1. sudo nano /etc/bash.bashrc
  2. Dosyanın sonuna aşağıdaki satırı ekleyin:

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

Bu sadece sahte bir adres. İstediğiniz adrese göre değiştirin ve:$PATH ardından .

Bu Ubuntu için.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.