OS X ve JAVA_HOME konumunda birden fazla Java sürümü desteği


12

OS X'te Java'nın birden çok sürümüne sahip olmanın mümkün olduğunu biliyorum, ancak nasıl çalıştığını anlamakta zorlanıyorum.

Mountain Lion'a geçtim ve şimdi echo $JAVA_HOMEboş.

Ancak /System/Library/Frameworks/JavaVM.framework/Versions/

1.4     1.5     1.6     A       CurrentJDK
1.4.2   1.5.0   1.6.0   Current

1.4.2'ye girdiğimde java - versionveya./java -version

Java (TM) SE Çalışma Zamanı Ortamı (derleme 1.6.0 _33-b03-424-11M3720)

Öyleyse neden tüm Java sürümleri aynı Java sürümüne sahipse kullanılır?

Sonra JDK 7'yi Oracle'dan indirdim ve yükledim.

Genellikle yeni bir JDK nereye kurulur?

Ve son soru: Hangi uygulamanın tüm uygulamalar tarafından varsayılan olarak çalıştırılması gerektiğini nasıl seçebilirim?

Kazanma. Ben set JAVA_HOMEiçin C:/ProgramFiles/Java/.… ben Yolu koyun: konumu için JAVA_HOME/binve bu kadar.


1
Oracle son zamanlarda JRE terimini tek başına Java uygulaması eklentisini (kafa karıştırıcı!) ve OS X kullanıcıları artık iki farklı sürümü aynı anda kullanabildiğinden (eklenti için bir sürüm, eklentiyi kullanmayan uygulamalar için farklı bir sürüm): Mountain Lion'da farklı java sürümleri en iyi nasıl yönetilir?
Graham Perrin

Yanıtlar:


3

/System/Library/Frameworks/JavaVM.framework/Versions içeriği

Çoğu kullanım durumunda, JDK'nın CurrentJDKmevcut ve geçmiş sürümlerinin işlevselliğini sağlamalıdır .

Tüm geçmiş sürümler değil, en çok gerekli sürümler:

sh-3.2$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8
BuildVersion:   12A269
sh-3.2$ ls -l /System/Library/Frameworks/JavaVM.framework/Versions
total 64
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 17 Jul 07:47 1.6.0 -> CurrentJDK
drwxr-xr-x  8 root  wheel  272 17 Jul 07:48 A
lrwxr-xr-x  1 root  wheel    1 17 Jul 07:47 Current -> A
lrwxr-xr-x  1 root  wheel   59 17 Jul 07:47 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
sh-3.2$ 

14

Java sürümünü tercih etme

Java Tercihlerini normal şekilde kullanın.

Apple'ın Java dağıtımına ek olarak ne yüklediğinize bağlı olarak, yardımcı programın ilk sekmesi biraz farklı görünebilir.

Küçük uygulamalar ve Java Web Start için tanıdık seçenekler olmadan bir örnek :

Java Tercihlerinin Ekran Görüntüsü

Bunun komut satırı düzeyinde nasıl çalıştığı hakkında bazı arka plan okumaları vardır . Komut satırı aracı java_home bu tercih ayarını geri bildirir.

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home

/ Usr / bin / java tutucu uygulama bu ayarların kullanılması Java'nın tercih sürümünü çalıştırmak yapar.

$ which java
/usr/bin/java

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

Son olarak Tomcat veya Maven için bir başlatma komut dosyasında JAVA_HOME'u yapılandırırken tercih sistemine bağlanabilirsiniz:

export JAVA_HOME=`/usr/libexec/java_home`

Başka yerlerdeki yanıtlar, Java'nın çeşitli yollara yüklenebileceğini not eder. 

  • / System / Library / Java / JavaVirtualMachines
  • / Library / Java / JavaVirtualMachines
  • ~ / Library / Java / JavaVirtualMachines

- ancak şu anda buradaki soruda anlatılanlar için, Mountain Lion'da Oracle'dan JDK, sadece bir yol olması muhtemeldir .


Topluluk düzenlemesi için teşekkürler, arka plan okuması için farklı bir bağlantı olmalı mı?
Graham Perrin

2
Java Tercihleri ​​artık desteklenmiyor ve Java 2012-006 güncelleştirmesi uygulandığında kaldırılıyor . Bu, Apple'ın Java sağlama ve desteklemekten uzaklaşmasının bir parçasıdır.
BryanH

@BryanH teşekkürler - bu yanıt, OS X 2012-006 için Java'dan birkaç ay önce verildi - bağlantılı soruya bakın. Ayrıca Apple uzak hareket ederken o notu memnun dağılımları JRE, biz gereken değil , Apple sona erecek farz desteklemek Java.
Graham Perrin

Evet teşekkürler. Sanırım "destek", Apple'ın artık OSX için Java Sanal Makinesi hakkında teknik sorular sağlamadığı veya cevaplamadığı anlamına gelmelidir. Söz konusu JVM'yi yazmak ve korumak Oracle'a (veya başka bir üçüncü tarafa) bağlıdır.
BryanH

5

Yana Mac OS X 10.8.2 Yapı 12C60 Java Tercihler artık eski sürümlerini göstermez.


3

JDK'ların yüklenmesi için kullanılan yollar

Çalıştırmak:

ls -l /Library/Java/JavaVirtualMachines

Başka yollar da kullanılabilir, ancak Oracle'ın Mountain Lion'a yüklenen geçerli JDK'sı, muhtemelen .jdkbu yoldaki paketi bulacaksınız .

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.