Nasıl Mac OS değiştir'varsayılan s iade /usr/libexec/Java VM java_home miyim
(Bu SU üzerine gitmeli... geçiş kesinlikle bir seçenek değil, ama daha çok programcı yüzden burada soruları oku, emin olamadım).
Mac OS X 10.8.4 ve Apple'ın hangi FIRSATLAR var 1.6.0_51 yüklü olarak Oracle ile İLGİLENİYORUZ 1.7.0_25 çalıştırıyorum. Geçenlerde Oracle 1.8 önizleme gerektiren yayın öncesi Bazı yazılımlar için yazılım ve programları yüklü. Koşarken şimdi,/java_home bu çıkıyor: /usr/libexec
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
1.6.0_51-b11-457, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_51-b11-457, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Harika.
Ancak, çalışan:
$ java -version
Verir:
java version "1.8.0-ea"
Java varsayılan sürümü bazı paketleri (benim durumumda, VisualVM). normal tatili şu anda yayın öncesi sürüm olduğu anlamına gelir
Komut satırından (örneğin $ open /Applications/VisualVM.app
) başlatılması bile uygulamaların başlatılması çevre değişkenlerini yoksayar çünkü JAVA_HOME
set, yapamam.
Benim JVM tercihler sipariş ayarlayabiliyorum nerede düzenleyebilirsiniz bir dosya vargenel olarak?
(Lütfen sadece çalışmaz, çünkü bana Java Tercihleri Panelini başlatmak için söyleme: bir şey yararlı ve sadece listeler 4 yüklü bu Jvm'ler.) içermiyor
Güncelleme:
Oracle Jvm'ler /Library/Java/JavaVirtualMachines
yaşar. Yeniden adlandırma ile İLGİLENİYORUZ 1.8 dizine jdk1.8.0.jvm.xyz
deÄŸiÅŸmez bir ÅŸey: java_home
yine de bulur bunu doğru yerde ve çalışan /usr/bin/java hala yürütür 1.8 JVM. Bu synlinks, vb ile ilgili bir sorun değildir.
CEVAP
JAVA_HOME
yapabileceğiniz en iyi şey olduğunu düşünüyorum. Komut satırı araçları gibi java
javac
iradesine uygun ortam deÄŸiÅŸkeni kullanabilirsiniz /usr/libexec/java_home -v '1.7*'
vermek için uygun bir değer koy içine JAVA_HOME
yapmak için komut satırı araçlarını kullanın Java 7.
export JAVA_HOME="`/usr/libexec/java_home -v '1.7*'`"
Ama standart uygulama paketleri JDKs /Library/Java
altında yüklü hiç kullanmayın çift tıklanabilir. Eski tarz .app
demetleri kullanarak Apple'ın JavaApplicationStub
kullanacak Apple Java 6 /System/Library/Frameworks
ve yeni tarzı olanlar dahili AppBundler olmadan bir paket TOTEM kullanır "halk" TOTEM /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
- kodlanmış, saplama kod ve olamaz değiştirdi ve iki farklı kamu JREs yüklü aynı zamanda.
Edit: verdim bak VisualVM özellikle varsayıyorsun kullanarak "uygulama paketi" sürümü the download page, ve bu belirli bir uygulama değildir AppBundler bir uygulama, bunun yerine kendi ana yürütülebilir bir kabuk betiği çağıran bir dizi diğer kabuk betikleri ve okur çeşitli yapılandırma dosyaları. Eğer Java 7 yükleme güncelleme 9 veya önceki /Library/Java
en yeni FIRSATLAR bu 7u10 ya da geç, ya da Java 6 kullandığı sürece toplama için varsayılan kullanılır. Ama bana öyle geliyor ki kabuk betikleri mantığı çözülüyor belirli bir GÖRDÜM bir yapılandırma dosyası kullanarak belirtebilirsiniz.
Bir metin dosyası ~/Library/Application Support/VisualVM/1.3.6/etc/visualvm.conf
(kullandığınız her türlü ile 1.3.6 değiştir) içeren satırı oluşturun
visualvm_jdkhome="`/usr/libexec/java_home -v '1.7*'`"
ve bu 8 yerine Java 7 seçmek için zorlar.
Eclipse'de yeni bir proje Maven Java 1...
Nasıl devre dışı varsayılan java API g...
Nasıl Java iki dizi bir arada olabilir...
Nasıl Java metin editörleri için Eclip...
Nasıl Twitter Bootstrap kalıcı bir kut...