Mac OSX'te JDK 7'yi nasıl kullanırım?


107

WatchService API'sini bu bağlantıda belirtildiği gibi kullanmak istiyorum: http://download.oracle.com/javase/tutorial/essential/io/notification.html

Etrafı okuduktan sonra WatchService'in JDK 7 için planlanan NIO sınıfının bir parçası olduğunu öğrendim. Yani beta formunda. Bu iyi.

http://jdk7.java.net/download.html indirip çıkardığım JDK'ya sahip. Bir sürü klasörüm var. Onlarla ne yapacağımı bilmiyorum.

Sonra biraz daha okudum ve hoş bir grup insanın JDK 7'yi ikili olarak yarattığını ve böylece benim gibi birinin onu kolayca kurabileceğini öğrendim. Open JDK olarak adlandırılır: http://code.google.com/p/openjdk-osx-build/

Ben de .dmg dosyasını indirip yükledim. Sonra "Java Tercihi" ni açıyorum ve OpenJDK7'nin mevcut olduğunu görüyorum.

Şimdi WatchService API'yi denemeye başlayabileceğimi hissediyorum. İlk bağlantıdaki öğreticiden yazar, önce test etmek ve çalıştığından emin olmak için bir .java dosyası verdi. Dosyanın bağlantısı: http://download.oracle.com/javase/tutorial/essential/io/examples/WatchDir.java

Bu yüzden Eclipse'i başlatıyorum (aslında STS kullanıyorum) ve yeni bir Java projesi oluşturuyorum ve "JRE yürütme ortamı kullan:" içinde JaveSE-1.7'yi seçiyorum. Src klasörünün altına WatchDir.java dosyasını kopyaladım.

Ve hala tonlarca dalgalı kırmızı çizgi görüyorum. Tüm "import.java.nio. *" Dosyalarının tümü kırmızı ve bir Java uygulaması olarak çalıştıramıyorum.

Ne yapmaya ihtiyacım var?


Konsolda çalıştırıp derleyebilir misiniz?
dmeister

Yani: $ javac WatchDir.java ve ardından $ Java WatchDir? Onu deneyeceğim. Teşekkürler! Eclipse IDE'de mevcut olmasını çok isterim.
okysabeni

1
Bugünden itibaren resmi bir Oracle sürümü var - Java SE 7u4
mmmmmm

64bit Eclipse kullandığınızdan emin olun. Herhangi bir seçenekle 1.7 jvm'de 32bit'i çalıştırma şansı yoktu.
tuxSlayer

Yanıtlar:


61

Oracle, OS X için JDK 7'yi piyasaya sürdü .


Cevabı en son bilgilerle güncelleyeceğim. Bu doğru cevap değilse lütfen bana bildirin. Teşekkürler.
okysabeni

@Yko - en eksiksiz bilgi için BasilBourque'a bakın (veya ilk Oracle JDK7 sürüm 4 için benimkine bakın)
mmmmmm

12
Uygulama uygulamalarının Oracle Java 1.7'yi Apple'ın Java 1.6'sı lehine kullanması için, /Library/Java/JavaVirtualMachines/1.7.0.jdk"Java SE 7" yi çalıştırmam ve "Genel" sekmesindeki listenin en üstüne sürüklemem gerektiğine dikkat edin. Bu javac, terminali çalıştırırken Java 1.7 sürümüne de işaret edecektir .
sschuberth

2
Oracle'ın JDK7'si Snow Leopard üzerinde çalışmıyor. Yalnızca Lion'u desteklediğini söylüyor.
Sanghyun Lee

@Sangdol - Evet, Oracle'ın Java uygulaması yalnızca Lion ve sonrasında çalışır. Bu soruya verdiğim yanıtta belirtildiği gibi.
Basil Bourque

88

Eclipse ile çalışmak için 1.7'yi bu şekilde aldım. Umut ediyorum bu yardım eder.

  1. Http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html adresinden Mac OS / X şubesinden en son OpenJDK 1.7 evrensel (32/64 bit) JDK'yı indirdim
  2. jdk'yi varsayılan 1.6.0 olanın yanındaki / Library / Java / JavaVirtualMachines / konumuna kopyaladı
  3. Eclipse> Tercihler> Java> Yüklü JRE'lerde MacOS X VM türünde yeni bir tane eklersiniz ve evi /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home olarak ayarlayıp Java SE 7 (OpenJDK) olarak adlandırırsınız.
  4. Bitir'e tıklayın
  5. Eklenen JRE'yi varsayılan olarak ayarlayın

bu olmalı :)


teşekkürler elcipse tamamen asıldı .. bu yüzden sdk 1.7 kullanmaya çalıştım mükemmel çalıştı! : =)
cV2

1
Bu proje (openjdk-osx-build) kapandı ve artık herhangi bir indirme sunmuyor.
aroth

2. adım sadece olabilir: indirilmiş jdk-7u40-macosx-x64.dmg'yi çalıştırın ve otomatik olarak dosya yoluna ekleyecektir
Michal

Eclipse'e kurulu bir JRE eklerken, Eclipse ayrıca kurulu JRE'leri "arayabilir". Mevcut 1.7 JDK yüklememi bu şekilde buldum.
jvriesem

Oracle jdk 1.7 yükleyicisinin sanal makineyi sizin için / Library / Java / JavaVirtualMachines / içine koyacağını unutmayın (mart 2014)
Chris Thorne

55

Java 9, 10, 11

Yıllar önce Apple , eski tescilli macOS'a özgü JVM kodunu ücretsiz açık kaynak olarak aktararak OpenJDK projesine katıldı . Apple, macOS için bir sürüm içermek üzere Oracle'ın markalı sürümlerine güvenerek kendi markalı JVM / JDK'sinin dağıtımını durdurdu.

Oracle, yakın zamanda Oracle markalı JVM sürümünü OpenJDK projesiyle hemen hemen aynı kod tabanına sahip olacak şekilde bir araya getirme niyetini duyurdu. Şirket, daha önceki ticari araçları olan Uçuş Kaydedici ve Görev Kontrolü'nü OpenJDK projesine bile bağışladı . Bu, Java ve OpenJDK'nın tahmin edilebileceği şekilde programlanmış sürümlemesi için yeni bir hızlı "yayın treni" planına geçişin bir parçasıdır. Özellikle, ücretsiz genel güncelleme süreleri artık kısaltılmıştır. Bu 2017-09 duyurusuna ve Mark Reinhold tarafından yapılan bu gönderiye bakın .

Tüm bunların bir sonucu olarak, Java'nın macOS kullanıcıları Java uygulaması için çeşitli satıcı seçeneklerine sahiptir. Bu noktada, en az üç kaynak macOS için OpenJDK'ye dayanmaktadır:

  • İsteğe bağlı ücretli destekle birlikte JDK ve JRE'nin Oracle sürümleri .
  • Azul Systems sürümü:
    • İsteğe bağlı ücretli destekle Zulu ücretsiz JVM serisi.
    • Alternatif çöp toplayıcı gibi özel özelliklere sahip ticari JVM'lerin Zing serisi.
  • OpenJDK kaynak kodu , kendi derlemenizi ve kurulumunuzu oluşturun (belki çoğumuz için pratik değil).

Bu arada IBM, şimdi OpenJ9 projesinde yer alan Eclipse Foundation'a bir JVM için kod bağışladı . Acaba bir macOS sürümünü de destekleyip desteklemeyeceklerini merak ediyorum, ancak söylemek için çok erken.

Şahsen, Vaadin ile Java destekli web uygulamaları üretmek için şu anda macOS High Sierra üzerinde Azul'un Java 10.0.1 Zulu sürümünü IntelliJ 2018.2 ile başarıyla kullanıyorum .

Kurulum / Kaldırma

Hem Oracle hem de Azul, Mac'inize JVM / JDK'yi yüklemek için son derece kolay kullanımlı yükleyiciler sağlar. Aşağıdakileri yazmak ve çalıştırmak için Terminal.app (veya eşdeğerini) kullanarak kurulumunuzu doğrulayın:

java -version

Java kurulumlarını bu klasörde sürücünüzün kök seviyesinde bulacaksınız (ana klasörünüzde değil):

/ Library / Java / JavaVirtualMachines

Her satıcının her sürümü, etiketli bir iç içe klasörde burada bulunur. Herhangi bir kurulumu, o sürümün iç içe geçmiş klasörünü silerek ve istendiğinde sistem parolanızı girerek silebilirsiniz.

Java 8

Şunları yapabilirsiniz Java Development Kit (JDK) indirmek için Java 8 için desteklenen Mac OS X sürümleri:

  • Dağ Aslanı (10.8.3+)
  • Mavericks (10.9)
  • Yosemite (10.10)
  • El Capitan (10.11)

Yüklediğiniz her JVM sürümü burada bulunabilir:

/Library/Java/JavaVirtualMachines

Daha fazla talimat ve SSS için bu Oracle Kılavuzuna bakın .

Java 7

Güncelleme 4'ten bu yana her Java 7 sürümü için, diğer platformların yanında bir Mac sürümü de hazırdır. Lion (10.7.3+), Mountain Lion (10.8.3+) ve Mavericks (10.9.x) üzerinde 64 bit donanım içeren Mac'lerde çalışır.

Oracle , JDK for Java SE 7 Update 4'ün Mac OS X (Lion) üzerinde 2012-04-26 itibarıyla resmi sürümünü duyurdu . Bu sayfada tartışılan numaralara artık gerek yok .

Bu talimatlara göre kurulum basittir :

  1. Oracle web sitesindeki her zamanki yerden indirin .
  2. DMG'yi monte edin.
  3. Yükleyiciyi çalıştırın.

Bu sürümün birkaç sınırlaması var, en önemlisi Java Web Start ve web tarayıcıları için Java Eklentisi desteğinin olmaması . Bu desteğin bu yılın ilerleyen zamanlarında olması bekleniyor.

Kurduktan sonra, JDK for Mac ReadMe'yi okuyun. En önemlisi, Java 7'nin varsayılan olmasını istiyorsanız, onu Yardımcı Programlar klasörünüzde bulunan Java Tercihleri uygulamasında listenin en üstüne sürükleyin .

Mac OS X, aynı anda birden fazla JVM'yi kolayca destekler. Her biri şimdi burada bulunur:

/Library/Java/JavaVirtualMachines

Başarılarından dolayı Apple ve Oracle ekiplerini tebrik ediyoruz. Bu inek, Mac OS X'in " Sertifikalı Sistem Yapılandırması " olarak listelendiğini görünce heyecanlanıyor .

İpucu: Eclipse'i yalnızca Java 7 yüklü bir Mac'te başlatmak için Eclipse.app adlı dosya yerine eclipse adlı diğer ad dosyasını açın .

Java 6

Apple, Mountain Lion'a kadar tüm Mac OS X sürümleri için Java 6'nın güncel bir uygulamasını sağlamaya devam ediyor.

Terminal.app'de "java -version" yazmak gibi Java gerektiren bir şey yaparsanız, sizin için Java yüklemeyi öneren bir iletişim kutusu görünür. Kabul ederseniz, yükleme, Apple'ın diğer "Yazılım Güncellemelerine" benzer şekilde otomatik olarak gerçekleşir.

Java 7 ve 8'den farklı olarak Java'nın bu konumda yüklü olduğunu göreceksiniz:

/System/Library/Java/JavaVirtualMachines

Java 6, 2013-02 itibarıyla Oracle ile kullanım ömrünün sonuna ulaştı (Oracle ile ticari bir destek anlaşmanız yoksa). Yani Java 7 veya 8'e geçmelisiniz.

Yeni Sürümü Test Etme

Terminal.app içinde, java -versionhangi sürümün geçerli varsayılan olduğunu doğrulamak için yazın .

Eski Sürümleri Silme

Yeni bir sürüm yükledikten sonra, eski sürümleri silmek için yukarıda açıklanan klasörü ziyaret etmek isteyebilirsiniz. Klasörü Çöp Kutusuna taşıyın ve taşıma işlemini tamamlayarak Sistem parolanızı sağlayın.


Bu arada Apple, geliştiricilerin OS X'de Java ile ilgili teknik sorunları için bir posta listesi sağlar .


Teşekkürler, bu benim için harika çalıştı. Bunu tercihlerde de değiştirmeniz gerekiyor.

@Tony: Evet, Tercihlerinizi değiştirmek 4. paragrafta belirtilmiştir.
Basil Bourque

Çalışmıyor. Yükleyiciyi çalıştırıyorum ve "Başarılı" olarak bildiriliyor, ancak hiçbir şey yüklenmemiş gibi görünüyor. /System/Library/Java/JavaVirtualMachinesyalnızca Java 6 JDK içerir.
aroth

4
@aroth - (a) İçeri bak /Library/Java/JavaVirtualMachines(değil /System). (b) Oracle'ın kurulum belgelerini okudunuz mu ve yukarıdaki cevabımda açıklandığı gibi ReadMeayarlandı Preferencesmı?
Basil Bourque

1
Java 7 r21 ile /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/ görüyorum. Java Kontrol Paneline artık Sistem Tercihleri ​​(OSX 10.8.3) üzerinden erişilebilir
Sofi Software LLC

17

Java 7'yi Mac'e yüklemenin kolay bir yolu , Homebrew Cask eklentisi (artık varsayılan olarak yüklenmiştir) sayesinde Homebrew kullanmaktır .

Java 7'yi yüklemek için bu komutu çalıştırın:

brew cask install caskroom/versions/java7

"Hata: Caskroom / sürümler / java7 için kullanılabilir varil yok"
jrochkind

@jrochkind Belki senin caskroom/versionsgüncel değil? Kesinlikle burada: github.com/caskroom/homebrew-versions/blob/master/Casks/…
Andrew

@jrochkind brew tap caskroom/versionsKurulum komutunu çalıştırmadan önce çalıştırmayı deneyin
Andrew

@jrochkind Bu işe yaramazsa, fıçı belgelerine bakın veya bir sorunu bildirin
Andrew

13

Fıçı alın

brew tap caskroom/cask

Java7'yi yükleyin:

brew tap caskroom/versions
brew cask install java7

(Java7'nin indirme bağlantısını oracle web sitesinde bulmakta zorluk çektim çünkü onlar sadece java8'i "tavsiye ediyorlar")

DÜZENLEME Ocak 2018 ( Ankur'un işaret ettiği gibi ):

Zulu7 fıçısı kullanın . Zulu, Azul Systems tarafından üretilen ve uzun süredir piyasada olması gereken onaylı bir OpenJDK yapısıdır (hatta hala JDK6 yapıları sunarlar).

brew cask install caskroom/versions/zulu7

Bu soru için kabul edilen cevap güncel değil. Bu, bugünlerde Java 7'yi kurmanın en iyi yolu gibi görünüyor.
Tim Dean

bu fıçı çıkarıldı (bkz: github.com/caskroom/homebrew-versions/pull/3914 ). önerilen alternatif ise zulu7 kullanmaktır.
Ankur

9

Bazılarının eski gönderiyi yeniden açtığım için beni tokatlamak isteyebileceğini biliyorum, ancak bunu yaparsan, umarım bu başka birinin Mac OS'de (IntelliJ kullanarak) JDK 7'yi kurmaya çalışmasına yardımcı olabilir.

Bunu makinemde çalıştırmak için yaptığım şey şuydu:

  • genel kurulum için Oracle JDK7 Mac OS X Port üzerindeki talimatları takip etti
  • IntelliJ'de yeni proje açın / oluşturun, böylece yeni SDK ekleyebilirsiniz (Dosya> Proje Yapısı)
  • Platform Ayarları> SDK'ları seçin, yeni SDK eklemek için "+" (artı) işaretine basın
  • JSDK'yı seçin ve / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home'a ​​gidin. Do ile o yanlış olsun / Users / your_username / Library / Java / . Bu, "lib" dizininden (dt.jar, jconsole.jar, sa-jdi.jar ve tools.jar) 4 JAR'ı bağlayacaktır.
  • ayrıca / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib (charsets.jar, jce.jar, JObjC.jar, jsse.jar, management-agent) konumundan JAR eklemeniz gerekecektir. .jar, kaynaklar.jar ve rt.jar)

6

Yine de JDK'yı Eclipse'e (STS) eklemeniz gerekebilir. JDK'nın sistemde olması, Eclipse'in onu nerede bulacağını bildiği anlamına gelmez.

Tercihler> Java> Yüklü JRE'lere gidin

1.7 JDK için bir girdi yoksa, onu ekleyin. Eclipse'i 1.7 JDK'nızı kurduğunuz yere yönlendirmeniz gerekecek.

Eclipse 1.7 uyumlu bir JRE bulamazsa, sanırım sadece varsayılan JRE'nizi kullanıyor ve bu muhtemelen hala Java 1.6'yı gösteriyor, bu da kırmızı dalgalı çizgilerinize neden oluyor.


İyi karar! Ama biraz daha fazla rehberliğe ihtiyacım var. Yüklü JRE'ler -> Ekle altına gidip ... / jdk1.7.0 / jre'ye gidiyorum ve bir sürü JAR dosyası buldum. Finish'e tıklıyorum. Mutlu bir şekilde oluşturmaya çalışıyor ama şimdi diyor ki ... / jdk1.7.0 / jre / bin / java: ikili dosya yürütülemiyor. Bu ne anlama geliyor?
okysabeni

Ben gerçekten emin değilim. Tutulmayı jre dizini yerine temel jdk dizinine yönlendirmeyi deneyebilirsiniz. Mac'imde varsayılan JDK'yi hiç kapatmamış olsam da, bunu genellikle Windows'ta böyle yaptığımı düşünüyorum. Bu işe yaramazsa, JDK 7'nin farklı bir dağıtımını kurmayı deneyebilirsiniz - openjdk-osx-build sitesinde birkaç farklı dağıtım mevcuttu, belki de sisteminizle uyumlu olmayan bir tane almışsınızdır?
Jon Quarfoth

Bunu denedim. Bana "Hedef bir JDK kökü değil. Sistem kitaplığı bulunamadı"
hatası veriyor

6

1.7jdk'yi oracle'dan yükledikten sonra, eklemek için bash komut dosyalarımı değiştirdim:

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

ve sonra çalıştırmak java -versiondoğru sürümü gösterdi.





1

Peter_budo'nun talimatları mükemmel çalıştı. IntelliJ proje kitaplıklarıma / Library / Java / JavaVirtualMachines / JDK 1.7.0 Developer Preview.jdk / Contents / Home / jre / lib / altına kavanozları eklemem gerekiyordu . Şimdi bir cazibe gibi çalışıyor. IDE’min 1.7 altında çalışmasına ihtiyacım olmadığını unutmayın; daha ziyade, yalnızca 1.7'ye karşı derleyebilmem ve çalıştırabilmem gerekiyordu. Grafik rutinleri (Swing, AWT) açısından muhtemelen daha kararlı olduğundan, IDE'yi çalıştırmak için büyük olasılıkla Apple'ın JRE'sini kullanmaya devam edeceğim. OP gibi ben de yeni NIO2 API'yi test etmeye gerçekten hevesliydim. Şimdiye kadar iyi görünüyor. Teşekkürler Peter.


1

Lion'da benim için işe yarayan şey, Oracle'dan JDK7_u17'yi yüklemek ve ardından ~ / .bash_profile'ı düzenlemek için şunları içermekti: export JAVA_HOME = / Library / Java / JavaVirtualMachines / jdk1.7.0_13.jdk / Contents / Home


0

Yosemite'ye güncelledim ve Android Studio, aşağıdaki hata nedeniyle projelerimi temizlemedi veya bunları sanal veya gerçek cihazda çalıştırmadı:

Failed to complete Gradle execution.Cause:Supplied javaHome is not a valid folder. You supplied: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Biraz araştırma ve sorun giderme işleminden sonra, "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home" adresinde gösterilen JDK dosyasının orada olmadığını buldum; "JavaVirtualMachines / 1.6.0.jdk / Contents / Home" bölümünün tamamı "/ System / Library / Java" konumunda eksikti. Ben de "JavaVirtualMachines / 1.6.0.jdk / Contents / Home" u "/ Library / Java /" dan "/ System / Library / Java /" ve cha ching'den kopyaladım! İşe geri döndüm.


0

Şimdi komutu kullan

2020 Güncellemesi: 04

Java7'yi homebrew ile yüklemek için:

brew tap homebrew/cask-versions
brew cask install java7

Umarım bu yardımcı olur.

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.