Sürüm değiştirmeye izin veren Mac OSX'e Java'yı nasıl yüklerim?


313

Mac OSX'te OpenJDK Java'yı yüklemek ve daha yeni bir sürüm olduğu için diğer JDK'larla birlikte çalışmasını istiyorum. Şu anda, tar.gz dosyasını indirdim ve yoluma yerleştirdim, ancak bakımı zor.

Otomatik olarak daha fazla şey yapmayı bulduğum diğer tek kurulum Homebrew fıçısı üzerinden kurulum. Sadece geçerli sürüme de benziyor:

brew cask info java

Gösteriler:

java: 13,33: 5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/

Oradan kurabilirim, ama sonra ne olacak? Sadece yeni sürüme mi takıldım?


Sadece soruyorum, soru etiketlerini tek bir sürümle sınırlı tutabilir miyiz? Zaten böyle bir versiyona özgü kurulum betiği / adımı olmadığı için. Bu genel (versiyona özgü olmayan) bir sorudur ve insanların soru ve cevabın önerileri için bakmaya başlayabilecekleri bir yer olduğunu düşündüğüm için sadece java-11 ile etiketlenmesi yeterli olabilir .
Naman

Yanıtlardaki komut dosyaları, diğer sürümler için yorumlanması kolay olsa da belirli sürümleri içerir. Ancak, topluluk üyelerinin aradıkları şeyin bir parçasıdır, bu nedenle güncellenmiş ve modern cevaplara dikkat çekmeye ve eski eski sürüm 6 ve sürüm 8 konularından farklılaşmaya yardımcı olarak doğru cevapları hızlı bir şekilde bulmalarına yardımcı olmak iyidir. En son kararlı sürüme ve en son yeni sürüme sahip olmak bence makul etiketler.
Jayson Minard

Muhtemelen birden fazla Java sürümünü yönetmek için jenv kullanmanızı tavsiye ederim .
paranza

Yanıtlar:


718

not: Bu çözümler, Java 8 ve yeni Java 13 dahil olmak üzere çeşitli Java sürümleri ve listelenen sürüm yöneticileri tarafından kapsanan diğer önceki Java sürümleri için çalışır. Bu, OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal ve diğer alternatif JDK'ları içerir. Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 ve Java 13 ile kolayca çalışın!

JDK geçişini yönetmenin yanı sıra kurulumu nasıl yapacağınızla ilgili birkaç seçeneğiniz vardır. Kurulum Homebrew, SDKMAN , Jabba veya manuel kurulum ile yapılabilir. Anahtarlama JEnv , SDKMAN , Jabba veya manuel olarak yapılabilir JAVA_HOME. Bunların hepsi aşağıda açıklanmaktadır.


Kurulum

İlk olarak, Homebrew, SDKMAN veya tar.gz dosyasının elle yüklenmesi dahil olmak üzere tercih ettiğiniz herhangi bir yöntemi kullanarak Java'yı yükleyin. Manuel kurulumun avantajları, JDK'nın konumunun Mac OSX için standart bir konuma yerleştirilebilmesidir.

SDKMAN ile yükle

Bu, JDK'yı standart olmayan bir dizine yüklediği bir uyarı ile hem kurulum hem de sürüm anahtarlamasını işleyebilmesi için basit bir modeldir.

< aşağıya bakın "SDKMAN ile sürümleri yükleme ve değiştirme" >

Jabba kullanarak yükleme

Bu aynı zamanda hem kurulum hem de sürüm anahtarlamanın aynı araç tarafından ele alınması bakımından basit bir modeldir. Kurulumlar standart olmayan bir dizine yapılır.

< aşağıya bakın "Jabba ile sürümleri yükleme ve değiştirme" >

OpenJDK indirme sayfasından manuel olarak yükleyin:

  1. Mac OSX için OpenJDK'yi http://jdk.java.net/ adresinden indirin (örneğin Java 13 )

  2. OpenJDK tar arşivini arşivden jdk-13.jdkçıkarın /Library/Java/JavaVirtualMachines/ve JDK yüklemelerinin standart ve beklenen konumu olduğundan , sonuçta ortaya çıkan klasörü (ör. ) Klasörünüze yerleştirin. Gerçekte istediğiniz yere de kurabilirsiniz.

Homebrew ile yükle

3 Ekim 2018'den önce Homebrew Cask'ta bulunan Java sürümü gerçekten de Oracle JVM idi. Ancak şimdi OpenJDK olarak güncellendi. Homebrew'u güncellediğinizden emin olun, ardından yüklenebilecek en son sürümü göreceksiniz.

  1. Henüz yapmadıysanız Homebrew'u yükleyin . Güncellenmiş olduğundan emin olun:

    brew update
  2. Henüz yüklemediyseniz (veya artık 3. adımda eski Java sürümlerini görmüyorsanız) fıçılar simgesine dokunun:

    brew tap homebrew/cask-versions

    ve AdoptOpenJDK sürümleri için şu dokunun:

    brew tap adoptopenjdk/openjdk

    Bu fıçılar Java sürümlerini sık sık değiştirir ve orada ek Java sürümleriyle başka musluklar olabilir.

  3. Yüklenebilir sürümleri arayın:

    brew search java   

    veya AdoptOpenJDK sürümleri için:

    brew search jdk     
  4. Kurulacak sürümle ilgili ayrıntıları kontrol edin:

    brew cask info java

    veya AdoptOpenJDK sürümü için:

    brew cask info adoptopenjdk
  5. Gibi JDK belirli bir sürümünü yükleyin java11, adoptopenjdk8ya da sadece, javaya adoptopenjdkakımı. Örneğin:

    brew cask install java

    Eski sürümlere giden tam yolu da kullanabilirsiniz:

    brew cask install homebrew/cask-versions/java11

Ve bunlar /Library/Java/JavaVirtualMachines/Mac OSX'te beklenen geleneksel konum olan kurulacak .

Diğer kurulum seçenekleri:

OpenJDK'nın diğer bazı lezzetleri:

Azul Systems Java Zulu sertifikalı OpenJDK yapıları, sitelerindeki talimatlar izlenerek kurulabilir.

Zulu®, Java SE standardıyla tam uyumlu, OpenJDK sertifikalı bir yapıdır. Zulu% 100 açık kaynak kodlu ve serbestçe indirilebilir. Artık Java geliştiricileri, sistem yöneticileri ve son kullanıcılar, dağıtım esnekliği ve yükseltme zamanlaması üzerinde denetim ile açık kaynaklı Java'nın tüm avantajlarından yararlanabilirler.

Amazon Correto OpenJDK yapılarının sürüm 8 veya sürüm 11 (diğer sürümler geliyor) için kullanımı kolay bir kurulum paketi vardır ve/Library/Java/JavaVirtualMachines/Mac OSX'tekistandartdizineyüklenir.

Amazon Corretto, Açık Java Geliştirme Kiti'nin (OpenJDK) ücretsiz, çok platformlu, üretime hazır bir dağıtımdır. Corretto, performans geliştirmelerini ve güvenlik düzeltmelerini içerecek uzun vadeli destekle birlikte gelir. Amazon, Corretto'yu binlerce üretim hizmetinde dahili olarak çalıştırıyor ve Corretto, Java SE standardıyla uyumlu olarak onaylandı. Corretto ile Linux, Windows ve macOS gibi popüler işletim sistemlerinde Java uygulamaları geliştirebilir ve çalıştırabilirsiniz.


JDK'm nerede?!?!

Önceden yüklenmiş Java JDK'lerinin varsayılan sistem konumlarına yüklenmiş konumlarını bulmak için şunu kullanın:

/usr/libexec/java_home -V

Java Sanal Makinelerini Eşleştirme (6):
13, x86_64: "OpenJDK 13" /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64: "OpenJDK 12" / Library / Java / JavaVirtualMachines / jdk-12 .jdk / İçindekiler / Ev
11, x86_64: "Java SE 11" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" / Kütüphane / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64: "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" / Kütüphane /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

Düğmesini kullanarak yalnızca belirli bir Java sürümünün konumunu da bildirebilirsiniz -v. Örneğin, Java 13 için:

/usr/libexec/java_home -v 13

/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

Yüklü JDK'ların konumunu bilmek, JEnv gibi araçları kullanırken veya SDKMAN'e yerel kurulum eklerken veya Jabba'da bir sistem JDK'sını bağlarken de yararlıdır ve bunları nerede bulacağınızı bilmeniz gerekir.

Diğer araçların yüklediği JDK'ları bulmanız gerekirse, bu konumları kontrol edin:

  • SDKMAN aşağıdakilere yükler: ~/.sdkman/candidates/java/
  • Jabba, ~/.jabba/jdk

Sürümleri manuel olarak değiştirme

Java çalıştırılabilir dosyası, JDK'nın yapılandırıldığı her şeyi kullanacak bir sarıcıdır JAVA_HOME, böylece kullanılan JDK'yı da değiştirmek için değiştirebilirsiniz.

Örneğin, JDK 13'ü /Library/Java/JavaVirtualMachines/jdk-13.jdken yüksek sürüm numarası olarak yüklediyseniz veya yıldız işaretini kaldırdıysanız , varsayılan olarak ayarlanmalıdır, eğer değilse:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

Ve şimdi Java yürütülebilir dosya ne olursa olsun, bunu görecek ve doğru JDK kullanacaktır.

/usr/libexec/java_homeYardımcı programı daha önce açıklandığı gibi kullanmak, takma adlar oluşturmanıza veya farklı JDK yüklemelerinin konumlarını belirleyerek Java sürümlerini değiştirmek için komutlar çalıştırmanıza yardımcı olur. Örneğin, sizin için .profileveya sizin .bash_profileiçin değiştirmek JAVA_HOMEüzere kabuk takma adları oluşturma :

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'

# default to Java 13
java13

Sonra sürümleri değiştirmek için, sadece takma adı kullanın.

java8
java -version

Java sürümü "1.8.0_144"

Elbette, JAVA_HOMEmanuel olarak ayarlamak da işe yarıyor!


JEnv ile sürüm değiştirme

JEnv , Java JDK'ların makinede zaten var olmasını bekler ve herhangi bir konumda olabilir. Yüklü Java JDK'larını genellikle içinde bulabilirsiniz/Library/Java/JavaVirtualMachines/. JEnv, geçerli kabuk için biri olan Java'nın genel sürümünü ve bazı projeler diğerlerinden farklı sürümler gerektirdiğinde kullanışlı olan dizin başına yerel sürümü ayarlamaya izin verir.

  1. Henüz yapmadıysanız, manuel kurulum veya Homebrew kullanımı için http://www.jenv.be/ sitesindeki talimatları JEnv yükleyin .

  2. Herhangi bir Java sürümünü JEnv'e ekleyin ( bunu başka bir yere yerleştirdiyseniz dizini ayarlayın ):

    jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
  3. Bu komutu kullanarak genel sürümünüzü ayarlayın:

    jenv global 13

jenv addBenzer şekilde kullanarak diğer mevcut sürümleri ekleyebilir ve mevcut sürümleri listeleyebilirsiniz. Örneğin Java 8:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home 
jenv versions

Daha fazla komut için JEnv belgelerine bakın . Artık herhangi bir zamanda tüm sistem, kabuklar veya yerel dizin için herhangi bir Java sürümü (Oracle, OpenJDK, diğer) arasında geçiş yapabilirsiniz.

JAVA_HOMEJEnv kullanırken yönetmeye yardımcı olmak için dışa aktarma eklentisini sizin için bunu yapabilirsiniz.

$ jenv enable-plugin export
  You may restart your session to activate jenv export plugin echo export plugin activated

Dışa aktarma eklentisi JAVA_HOMEönceden ayarlanmışsa ayarlanmayabilir, bu nedenle JEnv tarafından yönetilebilmesi için profilinizdeki bu değişkeni temizlemeniz gerekebilir.

Ayrıca jenv exec <command> <parms...>tek komutları çalıştırmak JAVA_HOMEve PATHbaşka bir kabuk açmak da dahil olmak üzere bir komut için doğru şekilde ayarlamak için kullanabilirsiniz.


SDKMAN ile sürümleri yükleme ve değiştirme

SDKMAN biraz farklıdır ve hem kurulumu hem de anahtarlamayı işler. SDKMAN ayrıca kurulu JDK'ları genellikle kendi dizin ağacına yerleştirir~/.sdkman/candidates/java. SDKMAN, global bir varsayılan sürüm ve geçerli kabuğa özel bir sürüm ayarlamaya izin verir.

  1. SDKMAN'ı https://sdkman.io/install dizininden yükleyin

  2. Sürüm kimliğini bildiğinizden emin olmak için kullanılabilir Java sürümlerini listeleyin

    sdk list java
  3. Bu sürümlerden birini yükleyin, örneğin Java 13:

    sdk install java 13.0.0-open 
  4. 13'ü varsayılan sürüm yap:

    sdk default java 13.0.0-open

    Veya oturum için 13'e geçin:

    sdk use java 13.0.0-open

List komutunu kullanarak yükleme için kullanılabilir sürümleri listelediğinizde, çok çeşitli Java dağıtımları göreceksiniz:

sdk list java

Ve JDK 8 gibi ek sürümleri yükleyin:

sdk install java 8.0.181-oracle

SDKMAN önceden yüklenmiş mevcut sürümlerle çalışabilir. Sadece kendi sürüm etiketinizi ve JDK'nın konumunu veren yerel bir kurulum yapın:

sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

Ve özgürce kullanın:

sdk use java my-local-13

Daha fazla bilgi mevcuttur SDKMAN Kullanımı Kılavuzu ile birlikte oluyor diğer SDK kurulumu ve yönetebilirsiniz.

Sürümleri değiştirdikçe SDKMAN sizin PATHve sizin JAVA_HOMEiçin otomatik olarak yönetilecektir .


Jabba ile sürümleri yükleme ve değiştirme

Jabba ayrıca hem kurulumu hem de anahtarlamayı yönetir. Jabba ayrıca kurulu JDK'ları genellikle kendi dizin ağacına yerleştirir~/.jabba/jdk.

  1. Ana sayfadaki talimatları izleyerek Jabba'yı yükleyin .

  2. Mevcut JDK'ları listele

    jabba ls-remote
  3. Java JDK 12'yi yükleyin

    jabba install openjdk@1.12.0
  4. Kullanın:

    jabba use openjdk@1.12.0

Ayrıca sürüm adlarını takma adlandırabilir, mevcut JDK'lara bağlanabilir ve GraalVM, JDK'yi Kabul Et, IBM JDK ve daha fazlası gibi ilginç JDK'ların bir karışımını bulabilirsiniz. Tam kullanım kılavuzu yanı ana sayfasında mevcuttur.

Sürümleri değiştirdiğinizde Jabba sizin PATHve sizin JAVA_HOMEiçin otomatik olarak yönetilecektir .


2
Manuel kurulum JAVA_HOMEiçin, belirli bir sürümü seçmek için ayarlamanız gerektiğini düşünüyorum export JAVA_HOME=$(/usr/libexec/java_home -v <version>), sizin gibi bir şey.bash_profile
Peter Hull

Java sürüm yöneticilerinin bazıları JAVA_HOMEmanuel olarak ayarlamayı sevmez ve kendileri yönetir. JEnv, önceden ayarlandıysa ayarlama yapmayacaktır, Jabba ve SDKMAN hakkında emin değildir, ancak normalde bu ayarı yönetir. Yalnızca NO sürüm değiştirmeli manuel kurulum bu değeri doğrudan ayarlamalıdır.
Jayson Minard

oldukça katılıyorum, JAVA_HOME sürüm değiştirme ve ayarlama için sorulan orijinal soru olarak manuel yükleme yöntemi için bunu yapmanın (tek?) yolu olduğunu cevabınızı not eğer iyi olurdu.
Peter Hull

2
Demlemek fıçısı Java, 3 Ekim 2018 dün OpenJDK 11 olarak değiştirildi.
Xingang Huang

16
Muhtemelen MacOS'ta farklı JDK'ları çalıştırmanın birçok farklı yaklaşımı kapsayan en kapsamlı ve yararlı cevabı, bazıları daha önce hiç karşılaşmayacağım.
Kevin Hooke

7

Ben böyle yaptım.

Adım 1: Java 11'i yükleyin

Mac için Java 11 dmg'yi buradan indirebilirsiniz: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

Adım 2: Java kurulumundan sonra 11. Tüm sürümlerin kurulumunu onaylayın. Terminalinize aşağıdaki komutu yazın.

/usr/libexec/java_home -V

Adım 3: .bash_profile dosyasını düzenleyin

sudo nano ~/.bash_profile

Adım 4: Varsayılan olarak 11.0.1'i ekleyin. (Aşağıdaki satırı bash_profile dosyasına ekleyin).

export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)

herhangi bir sürüme geçmek için

export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)

Şimdi bash'tan çıkmak için CTRL + X tuşlarına basın. Değişiklikleri kaydetmek için 'Y' düğmesine basın.

5. Adım: bash_profile dosyasını yeniden yükleyin

source ~/.bash_profile

Adım 6: Geçerli Java sürümünü onaylayın

java -version

Güzel çözüm. Peki ben JAVA_HOME 11 ihraç ederken hala java -version 8 işaret varsa?
AlexGera

1
Soru Open JDK hakkında soru sormakla birlikte Oracle JDK ile bağlantı kurdunuz. Open JDK'nın bir yükleyici veya kurulum talimatları yok gibi görünüyor.
Splaktar

1
@AlexGera adlı kişiye yanıt olarak - bu satırı ekle: export $ PATH = $ JAVA_HOME / bin: $ PATH
Fuad Efendi

6

3. taraf araçları olmadan sistem varsayılan sürümünü manuel olarak değiştirme:

Bu eski yanıtta ayrıntılı olarak açıklandığı gibi , macOS'ta /usr/bin/java, Java sürümünü işaret eden JAVA_HOMEveya bu değişken ayarlanmadıysa, altında Java kurulumlarını arayacak /Library/Java/JavaVirtualMachines/ve en yüksek sürüme sahip olanı kullanacak bir sarmalayıcı aracıdır . Contents/Info.plistHer paketin altına bakarak sürümleri belirler .

Bu bilgiyle donanmış olarak şunları yapabilirsiniz:

  • Info.plistvarsayılan olarak kullanmak istemediğiniz sürümlerde yeniden adlandırarak sistemin hangi sürümü kullanacağını denetleyin (bu dosya gerçek Java çalışma zamanı tarafından kullanılmaz).
  • ayarlayarak belirli görevler için hangi sürümü kullanacağınızı kontrol edin $JAVA_HOME

Ben bunun OpenJDK & Mojave ile hala geçerli olduğunu doğruladım.

Yepyeni bir sistemde yüklü bir Java sürümü yoktur:

$ java -version
No Java runtime present, requesting install.

Bunu iptal et, https://jdk.java.net adresinden OpenJDK 11 & 12ea'yı indir ; OpenJDK11'i yükleyin:

$ cd /Library/Java/JavaVirtualMachines/
$ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz

Sistem java şimdi 11:

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

OpenJDK12'yi yükleyin (şu anda erken erişim):

$ sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz 

Sistem java şimdi 12:

$ java -version
openjdk version "12-ea" 2019-03-19
[...]

Şimdi OpenJDK 12'yi sistem java paketleyicisinden "gizleyelim":

$ cd jdk-12.jdk/Contents/
$ sudo mv Info.plist Info.plist.disabled

Sistem java 11'e geri döndü:

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

Yine de manuel olarak ayarlayarak sürüm 12'yi zamanında kullanabilirsiniz JAVA_HOME:

$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
$ java -version
openjdk version "12-ea" 2019-03-19
[...]


6

Makinenize birden çok sürüm yüklüyse, aşağıdakileri bash profiline ekleyin:

dışa aktar JAVA_HOME_7 = $ (/ usr / libexec / java_home -v1.7)

dışa aktar JAVA_HOME_8 = $ (/ usr / libexec / java_home -v1.8)

dışa aktar JAVA_HOME_9 = $ (/ usr / libexec / java_home -v9)

Ve aşağıdaki takma adları ekleyin:

takma ad java7 = 'dışa aktar JAVA_HOME = $ JAVA_HOME_7'

takma ad java8 = 'dışa aktar JAVA_HOME = $ JAVA_HOME_8'

takma ad java9 = 'dışa aktar JAVA_HOME = $ JAVA_HOME_9'

Takma adı kullanarak gerekli sürüme geçebilir:

Terminalde:

~ >> java7 export JAVA_HOME=$JAVA_7_HOME


Evet, bu başka bir cevapta ele alındı.
Jayson Minard

3

Başka bir alternatif SDKMAN kullanmaktır ! Bkz. Https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11-using-sdkman/

Önce SDKMAN'ı yükleyin: https://sdkman.io/install ve sonra ...

  1. Oracle JDK 8'i şununla yükleyin: sdk install java 8.0.181-oracle
  2. OpenJDK 11'i şununla yükleyin: sdk install java 11.0.0-open

Değiştirmek:

  • İle JDK 8'e geç sdk use java 8.0.181-oracle
  • İle JDK 11'e geç sdk use java 11.0.0-open

Bir varsayılan ayarlamak için:

  • Varsayılan olarak JDK 8 ile sdk default java 8.0.181-oracle
  • Varsayılan olarak JDK 11 ile sdk default java 11.0.0-open

3

Homebrew ve jenv ile:

Varsayım: Mac makinesi ve zaten homebrew taktınız.

Fıçı yükleyin:

$ brew tap caskroom/cask
$ brew tap caskroom/versions

En son java'yı yüklemek için:

$ brew cask install java

Java 8'i yüklemek için:

$ brew cask install java8

Java 9'u yüklemek için:

$ brew cask install java9

Birden çok sürümü kurmak / yönetmek istiyorsanız 'jenv' kullanabilirsiniz:

Jenv'yi yükleyin ve yapılandırın:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Kurulu java'yı jenv'e ekleyin:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Kurulu tüm javaları görmek için:

$ jenv versions

Yukarıdaki komut, yüklü java listesini verecektir:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Kullanmak istediğiniz java sürümünü yapılandırın:

$ jenv global oracle64-1.6.0.39

1
Error: caskroom/cask was moved. Tap homebrew/cask-cask instead, sonrafatal: repository 'https://github.com/Homebrew/homebrew-cask-cask/' not found
ChumiestBucket

@ChumiestBucket dedi ki -Bu çözümün birden fazla sorunu var
javadba

1

IMHO, Tüm ek uygulamaları / paketleri kurmaya gerek yoktur.

Komutu kullanarak mevcut sürümleri kontrol edin:

> /usr/libexec/java_home -V
Matching Java Virtual Machines (8):
    11, x86_64: "Java SE 11-ea" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
    10.0.2, x86_64: "Java SE 10.0.2"    /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
    9.0.1, x86_64:  "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_181-zulu-8.31.0.1, x86_64:    "Zulu 8"    /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    1.8.0_151, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Şimdi yukarıdaki listeden Azul JDK 8'i seçmek istiyorsanız, Oracle'ın Java SE 8 DEĞİLDİR, komutu aşağıdaki gibi çağırın:

> /usr/libexec/java_home -v 1.8.0_181
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

Oracle'ın Java SE 8'ini seçmek için şu komutu çağırırsınız:

> /usr/libexec/java_home -v 1.8.0_151
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

Gördüğünüz gibi sağlanan sürüm numarası benzersiz dizeler olacaktır: 1.8.0_181 vs 1.8.0_151


İlk örnekte bir sürüm dizesi olmamalı mı 1.8.0_181-zulu-8.31.0.1? ya da kısmi eşleme mi?
Jayson Minard

Bu aslında Java sürümünü kullanmak için hiçbir şeyi değiştirmez, sadece konumunu bildirir JAVA_HOME. Bu komutları kullanarak manuel geçiş diğer cevabımda ele alınmaktadır.
Jayson Minard
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.