Ich habe gerade ein brandneues MacBook Air erhalten, das mit Mountain Lion 10.8.4 und ohne installiertem Java ausgeliefert wurde. Es gibt eine /usr/bin/java
, aber wenn ich sie ausführe, würde ich dazu aufgefordert, eine von Apple vertriebene Java 6-Laufzeit in einem Cocoa-Dialogfeld zu installieren.
Oracle unterstützt Java 6 jedoch nicht mehr, und ich möchte keine nicht unterstützte und wahrscheinlich unsichere Java-Installation ausführen.
Also ging ich zu den Java SE-Downloads von Oracle und installierte das neueste JDK, jdk-7u25-macosx-x64
. Jetzt ist das einzige Java, das ich auf dieser Maschine habe, 1.7.0_25, vertrieben von Oracle. /usr/bin/java -version
jetzt funktioniert.
Ich habe gerade ausgeführt brew cask install eclipse
und bin bei Eclipse 4.3 gelandet. Als ich zum ersten Mal versuchte, es auszuführen, erhielt ich die gleiche Aufforderung, eine Java-Laufzeitumgebung zu installieren, als hätte ich kein Java installiert.
Also habe ich hier auf Apple StackExchange geschaut und https://apple.stackexchange.com/a/58841/52440 gefunden . Nachdem ich ausgeführt habe sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
, kann ich jetzt Eclipse starten.
Wenn ich jedoch versuche, andere Apps zu starten, die Java erfordern, wie z. B. /usr/share/java/Tools/Java VisualVM.app
und /opt/homebrew-cask/Caskroom/webstorm/6.0.2a/WebStorm.app
, erhalte ich eine Fehlermeldung, dass kein kompatibles Java 1.6 verfügbar ist (siehe unten).
Weiß jemand, ob es möglich ist, diese anderen Apps zum Laufen zu bringen, oder benötigen sie wirklich Java 6 und können nicht mit Java 7 arbeiten?
Der Dialog wird angezeigt, weil Java von Oracle nur teilweise 'JVMCapabilities' gesetzt hat und sich selbst als nur befehlszeilenfähig ankündigt.
Als Superuser (verwenden Sie „sudo“, wenn Sie im Terminal bearbeiten), sollten Sie /Library/Java/JavaVirtualMachines/jdk.1.7.[version-and-release].jdk/Contents/Info.plist
den folgenden Schlüssel bearbeiten und finden:
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>
und fügen Sie es hinzu, um die fehlenden Werte einzuschließen:
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
<string>JNI</string>
<string>BundledApp</string>
</array>
Danach müssen Sie entweder neu starten, sich abmelden oder killall Finder
, was auch immer zu funktionieren scheint. (Leute haben berichtet, dass ein Neustart des Finder ausreichte, aber ich musste mich abmelden.)
--
Quelle .
mmmmmm
mmmmmm