Java için JAVA_HOME nasıl ayarlanır?


303

Java sürümünü kurdum. $JAVA_HOMEOrtam değişkenini doğru olarak nasıl ayarlayabiliriz ?

Yanıtlar:


422

Eğer ayarlayabilirsiniz JAVA_HOMEin /etc/profileolarak Petronilla Escarabajo öneriyor. Ancak JAVA_HOMEherhangi bir sistem değişkeni için tercih edilen konum /etc/environment.

Veya /etc/environmentbenzeri herhangi bir metin düzenleyicide açın ve aşağıdaki satırı ekleyin:nanogedit

JAVA_HOME="/usr/lib/jvm/open-jdk"

(java yolu farklı olabilir)

Kullan sourcebu komutu çalıştırarak, değişkenleri yüklemek için:

source /etc/environment

Ardından bu komutu çalıştırarak değişkeni kontrol edin:

echo $JAVA_HOME

Güncelleme

Genellikle çoğu linux sistemi varsayılan olarak / etc / ortam kaynağını kullanır. Eğer sisteminiz bunu yapmazsa, aşağıdaki satırı ekleyin ~/.bashrc(Thanks @pje)

source /etc/environment

2
Android Studio'yu (üs olarak IntelliJ IDEA olan) çalıştırmaya çalıştığımda, @ advocate'inkine çok benzeyen bir hata mesajı aldım: "'tools.jar' Android Studio sınıfında görünmüyor." JAVA_HOME ile başarılı bir şekilde uğraştıktan sonra, Android Studio'yu başlatan shellscript olan studio.sh'a bakmaya karar verdim. Vahşi bir tahmin olarak, JDK_HOME’yu JAVA_HOME ve voila için beklenen aynı değere ayarladım! Büyük problemler olmadan kurdu.
Hilton Fernandes,

3
Yazılım geliştirme yapanlar için, JDK sürümlerini her değiştirdiğinizde yeniden başlatmak istemediğiniz sürece JAVA_HOME'nuzu / etc / ortamına koymayın.
HDave

2
Diğerlerinin de belirttiği gibi, bu geçici bir çözüm. Kimse bashını her başlattığında kaynak çalıştırmak istemez.
yuranos87

6
Diğerlerinin de belirttiği gibi, bu terminal oturumları arasında kalmıyor. Bunu ele almak için yaptığım şey , başlangıçtaki tüm ortam ayarlarımı source /etc/environmentyükleyebilmesi için bash config dosyamın en üstüne satır eklendi ~/.bashrc. Şu ana kadar benim için çalışıyor.
pje

2
@sedulam Cevabı güncelle
Manula Waidyanatha

79

JAVA_HOMEOrtam değişkenini ayarlamak için aşağıdakileri yapın:

  1. Klavyenizdeki Ctrl+ Alt+ tuşlarına basarak Terminal'i başlatın T.
  2. Aşağıdaki komutu girin:
    $gksudo gedit /etc/environment
  3. Java'nızı nereye yüklediğinize bağlı olarak, tam yolu sağlamanız gerekir. Bu örnekte, /usr/lib/jvm/java-7-oracledizine Oracle JDK 7'yi yükledim .
    Dosyanın sonuna gidin ve aşağıdakileri girin:
    JAVA_HOME=/usr/lib/jvm/java-7-oracle
    export JAVA_HOME
  4. Dosyanızı kaydedin ve gedit'ten çıkın .
  5. Son olarak, PATH sistemini şu komutla yeniden yükleyin:
    $. /etc/environment

Yukarıdaki yöntem, bilgisayarınızda her oturum açtığınızda komutları çalıştırma zorunluluğunu ortadan kaldıracaktır.


5
Nasıl . / etc / ortam işi?
Sudip Bhandari

1
exportKomutun eklenmesi gerekli /etc/environmentmidir?
pkaramol

@pkaramol Başlangıçta yüklenmesini sağlamak için 16.04LTS'ye JAVA_HOME dışa aktarma eklemek zorunda kaldım.
adeen-s

3
@ adeen-s exportBir satır eklediniz /etc/environmentve yardımcı oldu? Bu dosya, =ayrılmış bir ad-değer çiftleri olarak ayrıştırılmış değişken tanımları içerir ; içeriği komut olarak yürütülmez. (Bkz man pam_env.) Bu nedenle , dosyayı ayrı ayrı bir komut dosyası gibi işlemiyorsanız ( /etc/environmentbash ./ sourceyerleşime geçmek gibi ), çalışmasını beklemem.
Eliah Kagan

> Nasıl. / etc / ortam işi? -. (dot) komutları bir dosyadan yükler askubuntu.com/a/232938/189965
Roman Bekkiev

37

Yolu bilmiyorsanız ve yalnızca openJDK'yı yüklediyseniz, yazabilir update-alternatives --config javave yolu bulmanız gerekir. Değişkeni ayarlamak için yazıp JAVA_HOME=<PATH>takip edebilirsiniz export JAVA_HOME. Değişken bildirilirken boşluk olmadığına dikkat edin. Değişkenin saklanıp saklanmadığını kontrol etmek için, sadece echo $JAVA_HOMEdoğrulamak için yazmanız yeterlidir .


Bu statik gibi görünüyor. Openjdk-7'yi kaldırır ve openjdk-9'u kurarsam, JAVA_HOME daha sonra yanlış yere işaret etmez mi? Nasıl dinamik hale getirilebilir?
DavidJ

3
Elle değiştirerek. Bir kez daha, SİZİN dinamik hale geliyor
şeklidir

@HDave'in anlamı şudur: Bazı durumlarda, JAVA_HOME'un belirli bir java sürümünü göstermesini isteyebilirsiniz, bu nedenle JAVA_HOME dinamikinin güncellenmesini istediğiniz şey olmayabilir.
Maciej

Bu cevabı seviyorum. Eko ile test ettim ve yolumu görüyorum. Ancak, neden hala alıyorum kafam karıştı ben mvn -version çalıştırırken neden JAVA_HOME ortam değişkeni ayarlanmadı
Winnemucca

1
Bu cevabı daha cahil olduğumda yazdım. Değişkeni tarif edildiği gibi ayarlamak, yalnızca geçerli terminal oturumunuzu etkiler ve kalıcı olmayacaktır. Doğru yol, update-alternatives --install <link> <name> <target> <priority> örneğin update-alternatives --install /usr/bin/java java /usr/lib/jvm/default-runtime/bin/java 1
kaçmaktır
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.