OS X 10.9'da Java Kurulumu (Mavericks)


321

Ben yüklemiş JDK üzerinde Mac OS X v10.8 (Dağ Aslanı). Mac OS X v10.9'a (Mavericks) yükseltip java -versionterminalde koştuğumda şunu gösterdi:

Yükleme gerektirmeyen Java çalışma zamanı yok.

Sonra Mac bilgisayarıma JDK'yı (1.7) manuel olarak yükledim. Kurulum iyi çalıştı gibi görünüyor. Kurulum tamamlandığında terminali açtım ve yazdım java -version. Aynı hatayı da gösterdi:

Yükleme gerektirmeyen Java çalışma zamanı yok.

Bu sorunu nasıl çözebilirim?


1
Terminalde hangi sorunun olduğunu bilmiyorum ama tutulmayı çalıştırıyorum ve tüm projeler mavericks'te iyi derleniyor
Sunny

1
eski java başlatıcısı sadece jdk 1.6'yı destekliyor gibi görünüyor, ancak mavericks varsayılan olarak 1.6 yüklü değil.
Shawn

1
Java 7'yi değil, java 7'yi OP'nin başlangıçta ihtiyaç duydukları ima ettiği gibi kurdunuz. Bu çözüme nasıl ulaşıldığını merak ediyorum. Ayrıca burada doğrudan terminalden gelen geribildirimleri ele alan bir 'alternatifler' yaklaşımı olmalıdır.
Rondo

4
Bu Java 6 için harika, ancak Java 7'yi nasıl çalıştırabilirsiniz?
190290000 Rublesi Adam

2
Java 7 JRE yazılımını yüklemek ve Terminal'de çalışmasını sağlamak için olası bir yanıt eklendi: stackoverflow.com/a/19582689/346286
analog

Yanıtlar:


279

Yeni Mavericks (10.9) bana "Yükleme isteniyor" u gösterdi, ama hiçbir şey olmadı.

Çözüm, OS X için resmi Java paketini manuel olarak indirmek ve yüklemekti. OS X 2013-005 için Java.

Güncelleme: Aşağıdaki yorumlarda belirtildiği gibi, aynı paketin daha yeni bir sürümü var:

OS X 2014-001 için Java

OS X 2014-001 için Java (Yukarıdaki ölü çizgiyi düzeltme)

OS X için Java 2014-001 yükleme geliştirmelerini içerir ve OS X için Java'nın önceki tüm sürümlerinin yerine geçer. Bu paket, OS X 2013-005 için Java'da bulunan Java 6'nın aynı sürümünü yükler.


Benim için de aynı. Başka bir seçenek de Oracle'dan Java yüklemektir. Hangisinin daha iyi olduğunu düşünüyorsunuz? Oracle, Java'nın Apple'dan daha hızlı güncellenmiş gibi görünüyor.
Ngoc Pham

2
ancak bu size JDK 6 verir. JDK 6'yı doğrudan nasıl kullanabiliriz?
Shawn

2
@Shawn Apple zaten yüklü JDK 7'yi devre dışı bırakır. Ancak bazı SSS'leri alabilir ve buradan yükleyebilirsiniz: java.com/en/download/faq/java_mac.xml ama denemedim.
Guy

Hem java6 hem de java7'yi yüklediyseniz, kabuğunuzda v6'yı şununla seçebilirsiniz: export JAVA_HOME = / Sistem / Kütüphane / Java / JavaVirtualMachines / 1.6.0.jdk / İçindekiler / Ana Sayfa
Jürgen Strobel

1
Neden 64 bit işletim sisteminde 32 bit java kullanmak istersiniz? 64 bit java, Mavericks altında 32 bit'ten daha hızlı.
MiB

196

Yalnızca en son resmi JRE'yi Oracle'dan yüklemek istiyorsanız, oraya alabilir, yükleyebilir ve yeni JAVA_HOME'u terminalde dışa aktarabilirsiniz.

En yeni JRE'yi kurmak için bulduğum en temiz yol bu.

Ekleyebilir export JAVA_HOMEsenin çizgi .bashrcolması javasizin Terminal'de kalıcı:

echo export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\" >> ~/.bashrc

37
Bence JAVA_HOMEgerçek VM yerine bir tarayıcı eklentisinin ne olduğunu açıkça belirtmek biraz balık gibi geliyor . XCode komut satırı araçlarını yüklediğinizde, doğru yolu almak için bir araç alırsınız /usr/libexec/java_home. Developer.apple.com/library/mac/documentation/Darwin/Reference/… adresine bakın .
İlkka

8
@Ilkka - kulağa balık gibi geliyor, ama aslında Oracle'ın JRE'sinin kurulduğu yer burası. Apple'ın Java'sı (Java 6'da durur), kehanetle hoşunuza gidebilecek kadar güzel bir şekilde karışmaz
Orion Edwards

12
Bir meslektaşım (maalesef burada yorum eklemek için gerekli itibara sahip olmayan), JAVA_HOME ayarının olması gerektiğini eklemek istiyorexport JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
Stephan Windmüller

1
Oracle'dan jdk7u45 yükledim ve hala bash profilimde JAVA_HOME = $ (/ usr / libexec / java_home) dışa aktarmayı kullanıyorum. jdk7u45, java sistemi tercih paneli dahil olmak üzere çok güzel çalışıyor. Şimdi jdk7u51 sürümüne geçiyorum.
MiB

2
export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"Bu işi almak için ~ / .bashrc veya ~ / .bash_profile yerine ~ / .profile eklemem gerekiyordu.
LarS

64

Java 7 için JDK'yı indirmek için doğru yer Java SE Downloads .

Diğer tüm bağlantılar bildiğim kadarıyla söyleyebilirim, yukarıda verilen, ya (çalıştırmak istediğiniz takdirde, tesadüfen JRE veya Java 6 indirme sağlamak Eclipse veya diğer IDE gibi IntelliJ IDEA , sen JDK, ihtiyacınız olacak değil JRE ).

IntelliJ IDEA ile ilgili olarak - görünüşte daha eski bir sınıf yükleyiciye veya başka bir şeye ihtiyaç duyduğu için Java 6'yı yüklemenizi isteyecektir: iletişim kutusu açılır penceresi görüntülendiğinde talimatları uygulayın ve JDK 6'yı doğru yere yükleyecektir.

Daha sonra, sudo ln -snfyukarıdaki cevapta belirtilenleri yapmanız gerekecektir :

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents \
    /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

(burada "yukarıda" ifadesinin yanıtlar yeniden sıralandığından anlamsız gelebileceği belirtildiği şekilde kopyalanmıştır).

Ayrıca kurulduğuma JAVA_HOMEişaret etmek için ayarladım jdk_1.7.0_xx.jdk:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"

Daha sonra bunu kendinize ekleyin PATH:

export PATH=$JAVA_HOME/bin:$PATH

Alternatif, Apple'ın çılgın köprüler labirentiyle uğraşmaktır, ancak dürüst olmak gerekirse hayat rahatsız etmek için çok kısa.


4
Bkz başka cevaba yorumumu belki bu yolu almak için daha iyi bir yolu ne için.
İlkka

1
Bu cevabın daha fazla oyu olduğundan, sudo ln -snfyukarıdaki cevapta söylenen bit artık doğru değil. Bu aslında Bay Ronald
Karthic Raghupathi'nin

@KarthicRaghupathi Açıklamayı tam olarak anladığımdan emin değilim (kullanımı thisve thatbiraz kafa karıştırıcı), ancak / Sytem / Library / etc konumundan Oracle'ın JVM'yi (/ Library / etc) yüklediği gerçek yere bir symlink'e ihtiyacınız var. .) veya uygulamalar Java çalışma zamanını bulamaz.
Marco Massenzio

@Marco Şimdi bahsettiğinize göre, kendi yorumumu okuduğumda, pek mantıklı değil. :) Açıklığa kavuşturmama izin ver. Cevabınıza "Daha sonra, sudo ln -snfyukarıdaki cevapta belirtilenleri yapmanız gerekecek" yazıyorsunuz ; Cevaplar aldıkları oyların sayısına göre yukarı veya aşağı hareket eder. Niyetim sadece sudo ln -snfemri olan cevaba doğrudan bir referans sağlamaktı .
Karthic Raghupathi

Düzenlendi - ancak yeniden siparişin gerçekten gerçekleştiğinden emin değilim: Upvotes ne olursa olsun hepsi bulundukları yerde gibi görünüyor. NVM
Marco Massenzio

14

Oracle'dan JDK 1.7'yi indirip yükledim . Konsolda / Terminal'de Java 7 iyi çalışıyor.

GUI aracılığıyla bir Java programını ( Eclipse gibi ) başlattığımda , şunu elde ederim:

"Eclipse.app" uygulamasını açmak için bir Java SE 6 çalışma zamanı gerekir. Şimdi bir tane yüklemek ister misiniz?

Eski Java sürümünü yüklemek istemediğim için aşağıdaki geçici çözümü kullandım:

sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

İçin Kredi monkehWorks .


1
Ben kullanımına gerek ln -snfbende çünkü Operation not permittedbirlikteln -sf
Lars Blumberg

Teşekkürler, yanıtı düzenledim ve -n seçeneğini ln komutuna ekledim.
Bay Ronald

+1 Tam olarak aradığım şey. Teşekkürler! CLI, kurulumdan sonra JDK 7'ye başvuruyordu. Ancak GUI uygulamalarının doğru JDK'yı almasını sağlamak için bu adım gerekliydi.
Karthic Raghupathi

Umutluydu, ama benim için işe yaramadı. Android Studio 0.3.2, yapmayacağım "Java 6'yı indirme" konusunda ısrar ediyor. Oracle Java 7 JDK yüklü.
akauppi

Eclipse'in 64 bit sürümüne ihtiyacınız var. 32 bit Apple java gerektirir.
Thorbjørn Ravn Andersen

4

Bu hata, IntelliJ IDEA plist dosyasının Java sürüm 1.6 * gerektirmesi nedeniyle oluşur. Bu sorunu çözmek için 1.6 * 'ı 1.8 * ile değiştirin.

<key>JVMOptions</key>
<dict>
    <key>ClassPath</key>
      ...

    <key>JVMVersion</key>
    <string>1.8*</string>

    <key>MainClass</key>
    <string>com.intellij.idea.Main</string>
    <key>Properties</key>
<dict>

Bu benim için yaptı. Benim sorunum osx 10.9 için güncellendiğinde, hala java terminal ve her şey (eclipse amele amele dahil) erişim olabilir. Yalnızca Android Studio bu hataya neden oluyordu.
ucsunil

Bu, OS X 10.10.1'de benim için işe yaramadı, 1.8 sürümünün mevcut olmadığından şikayet ediyor (JRE 8 düzgün kurulmuş olsa bile).
Emmanuel Bourg

JAVA_HOME'un ayarlanıp ayarlanmadığını kontrol ettiniz mi?
Fabio Fumarola

3

OP, Java 7'nin ihtiyaç olduğunu ima etti. Ve Java 6 aslında 'desteklenmiyor', bu nedenle eski uygulama endişeleriniz yoksa 7 bu noktada yüklemeniz gereken sürümdür.

Buradan edinebilirsiniz: http://java.com/en/download/mac_download.jsp?locale=en


Apple'ın mevcut Java 6 dağıtımının desteklenmediğini varsaymamalıyız.
Graham Perrin

Karmaşık bir konuyu kızdırmaktan kaçınmak için 'desteklenen' kelimesini tırnak içine aldım. Oracle 6 için herhangi bir destek ücreti alıyor ve bu destek ücreti de mantıksal olarak Apple için geçerli olacak; yani Apple, sözleşmesiz 'kendi başına'. Bir tane var mı ve MacOSX için yamalar aracılığıyla çalışmayı planlıyorlar mı? Sözleşme yine de yeniden dağıtıma izin veriyor mu? Apple'ın son 6 güncellemesinden bu yana Oracle'dan 2 Java 7 güncellemesi yapıldı. Tarihsel olarak, kilit adım sürümlerini kilitleme eğilimindedir. Belki de varsayım; Güvenli bir varsayım mı? Öyle görünüyor.
Rondo

3

OS X 10.9'da Java SDK'yı güncelleme deneyimim çok daha kolaydı.

Ben en son indirilen Java SE Development Kit 8gelen, SE indirme ve dosyasını manüel yüklü. java -versionTerminalde yazarken aşağıdakiler görüntülenir:

Java sürümü "1.8.0_11"

Java (TM) SE Çalışma Zamanı Ortamı (derleme 1.8.0_11-b12)

Java HotSpot (TM) 64 Bit Sunucu VM (yapı 25.11-b03, karışık mod)




1

Bu hata, Java'nın düzgün yüklenmediği anlamına gelir.

1) brew cask install java (No need to install cask separately it comes with brew)

2) java -version

java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

PS - demlemek fıçı nedir? Homebrew-Cask, Homebrew'u genişletir ve Homebrew kullanarak bir Uygulama yükledikten sonra ekstra bir komut yürütme zorluğunu çözer - “Yüklemek için bu simgeyi sürükleyin…” .

NB - Bu sorun Mavericks'e özgü değildir, EL Capitan da dahil olmak üzere neredeyse tüm OS X'i alacaksınız.


0

Geliştirici kiti olan JDK'yı , yalnızca çalışma zamanı ortamı olan JRE'yi yüklemeye gerek yoktur .


6
Bu doğru. Bununla birlikte, Apple'ın sağladığı JDK ve Oracle'dan JRE sadece İnternet Eklentisi için var, javakomut sistem çapında otomatik olarak bağlı değil , bu yüzden hala "Java çalışma zamanı mevcut değil, yükleme talep ediyor" mesajını görüyorsunuz. java -versionTerminal'e yazdığınızda .
Ngoc Pham
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.