Mac OS X 10.9'da JAVA_HOME ortam değişkeni nasıl ayarlanır?


135

Yepyeni bir MacBook Pro satın aldım.

Bu şimdiye kadarki ilk MAC'im ve hala yolumda gezinmeyi öğrenmeye çalışıyorum.

Her neyse, Java'da da yeniyim ve Windows bilgisayarımda kalıcı olarak ölmeden önce alıştırma yapıyorum.

Artık bu MAC üzerindeyim, JDK'mı kurdum ve şimdi JAVA_HOMEortam değişkenini ayarlamam gerekiyor .

Ne yapacağım konusunda hiçbir fikrim yok.

Bu rehberlerden bazılarını takip etmeyi denedim ve çok uzağa gitmedim.

  1. Mkyong.com: Mac OSX'te JAVA_HOME değişkeni nasıl ayarlanır?

  2. YouTube: Mac, linux, solaris, rhel'de ortam değişkenleri nasıl ayarlanır?

  3. YouTube: Mac'te Ortam Değişkenleri Nasıl Belirlenir

Terminali bulabildim ve sanırım birkaç dosya oluşturdum. Bunun gibi mesajlar alıyorum:


(1) Aynı dosyayı başka bir program düzenliyor olabilir. Durum buysa, değişiklik yaparken aynı dosyanın iki farklı örneğiyle karşılaşmamaya dikkat edin. Çıkın veya dikkatli bir şekilde devam edin.


(2) Bu dosya için bir düzenleme oturumu çöktü. Durum buysa, değişiklikleri kurtarmak için ": recovery" veya "vim -r /Users/Erwin/.bash_profile" kullanın (bkz. ": Kurtarma yardım"). Bunu zaten yaptıysanız, bu mesajı önlemek için "/Users/Erwin/.bash_profile.sw p" takas dosyasını silin.

Biri Mac OSX ortamında Java'nın nasıl ayarlanacağını adım adım söyleyebilir mi?




Yanıtlar:


328

Kelimenin tam anlamıyla yapmanız gereken tek şey:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

ve kabuğunuzu yeniden başlatın.

Yüklü birden fazla JDK sürümünüz varsa ve bunun belirli bir sürüm olmasını istiyorsanız, beğenmek için -vbayrağı kullanabilirsiniz java_home:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile

1
"Kabuk" dediğinizde, terminal penceresini kapatıp yeniden açtığımı mı kastediyorsunuz? Ayrıca, bu benim jdk'm için ortam değişkenini kalıcı olarak ekler mi?
islander_zero

1
Evet, demek istediğim bu. Ve evet, bu (yani hemen hemen tüm koşullar bunu isteyeyim ki) sizin kullanıcı için tüm giriş kabukları için değişken katacak
Adrian Petrescu

13
Terminali yeniden başlatmak yerine eğer yaparsan işe source ~/.bash_profileyarayacağını düşünüyorum, değil mi?
Shobhit Puri

2
@ShobhitPuri Evet, olur, sadece soru soran için basit tutmak istedim.
Adrian Petrescu

4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileBelirli bir sürüme ihtiyacınız varsa. Bu durumda 1.7.
sebastian

26

Koyarak yaptım

export JAVA_HOME=`/usr/libexec/java_home`

(backtics) .bashrc dosyamda. Adrian'ın cevabı hakkındaki yorumuma bakın.


15

Mac OSX 10.5 veya sonraki sürümlerde Apple $JAVA_HOME variable to /usr/libexec/java_home, yalnızca dışa aktar $JAVA_HOME in file ~/. bash_profileveya ~/.profile.

Terminali açın ve aşağıdaki komutu çalıştırın.

$ vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

kaydedin ve vim düzenleyiciden çıkın, ardından kaynak komutunu .bash_profile üzerinde çalıştırın

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

11

En son veya daha eski Mac OSX'te $ JAVA_HOME ortam değişkenini ayarlayın .

JDK'yı indirin ve yükleyin

  1. İlk olarak, JDK'yı yükleyin
  2. Açık terminal kontrolü java sürümü

$ java -version

JAVA_HOME ortam değişkenini ayarla

  1. .Zprofile dosyasını açın

$ open -t .zprofile

Veya yaratın . zprofile dosyası

$ open -t .zprofile

  1. .zprofile yaz

export JAVA_HOME=$(/usr/libexec/java_home)

.Zprofile dosyasını kaydedin ve bash dosyasını kapatın ve ardından kusursuz çalışması için terminale yazın .

$ source .zprofile

Terminalde kurulum testi

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home

1
Ayrıca "/ usr / libexec / java_home" nin gerçekte ne olduğu konusunda bir sorum vardı. Cevap: medium.com/zendesk-engineering/…
ekar

1
/ usr / libexec / java_home, macOS'ta JAVA_HOME'u ayarlamanın en basit ve bakımı yapılabilir yoludur. Java_home'u şunlar için kullanabilirsiniz: Kurulu tüm JDK'ları bulmak.
Shomu

7

JAVA_HOME ortam değişkenini ayarlamadan önce aşağıdaki komutlarla varsayılan terminal kabuğunun kontrol edilmesi önerilir :

$ echo $SHELL
/bin/bash

Varsayılan terminaliniz / bin / bash (Bash) ise, @Adrian Petrescu yöntemini kullanmalısınız .

Varsayılan terminaliniz / bin / zsh (Z Kabuğu) ise, bu ortam değişkenini ~ / .zshenv dosyasında aşağıdaki içeriklerle ayarlamalısınız:

export JAVA_HOME="$(/usr/libexec/java_home)"

Benzer şekilde, yukarıda belirtilmeyen diğer herhangi bir terminal türü, kendi ilgili terminal env dosyasında ortam değişkenini ayarlamalısınız.


4

~ / .Profile ekleyerek çalıştırdım. Bir şekilde El Capitan beta sürümüne güncelledikten sonra, JAVA_HOME .bash_profile dosyasında tanımlanmış olmasına rağmen çalışmadı.

Herhangi bir El Capitan beta kullanıcısı varsa, .profile'a eklemeyi deneyin


2
.Profile ve .bash_profile arasındaki fark nedir?
IgorGanapolsky

3
Buradaki fikir şudur: .profile tüm kabuklar için çalışır (sh, zsh, her neyse); .bash_profile, yalnızca bash kabukları için.
JohnL4

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.