2014-10-17 10 views

Antwort

76

Die officially recommended solution/Update zu installieren ist JDK 1.6 on Mac (wenn diese Verbindung nicht in Safari öffnet, versuchen Firefox).

Die Änderung Info.plist bricht die digitale Signatur der Anwendung und verhindert die Aktualisierung der Patches.

Wir empfehlen, die Datei Info.plist nicht zu modifizieren, um sie unter JDK 1.7 oder 1.8 auszuführen.

Bitte check this document für die Liste der bekannten kritischen Probleme für Java 7 und 8 auf Mac, die verhindern, dass JetBrains diese Java-Versionen standardmäßig verwenden.

Während Java 6 bekannte Sicherheitsprobleme aufweist und EOL ist, sind diese Probleme höchstwahrscheinlich nicht ausnutzbar, wenn Sie Java 6 verwenden, um IntelliJ IDEA (und andere auf dieser Plattform basierende IDEs) auszuführen. Java 6 installiert das Browser-Plugin nicht zum Ausführen von Applets und es wäre extrem schwierig (wenn nicht unmöglich), dass der Angreifer es ausnutzt, wenn es zum Ausführen der IDE verwendet wird.

Wenn Sie diese (wahrscheinlich minimalen) Risiken der Ausführung unter Java 6 nicht akzeptieren können, empfehlen wir die Verwendung der speziellen IDE-Distribution mit gebündeltem Java 8 (noch experimentell). Um diese Version zu erhalten, fügen Sie -jdk-bundled zum Dateinamen hinzu. Seit IDEE 14.1 das Suffix hat sich geändert -custom-jdk-bundled

Beispiel:

Bitte beachten Sie, es ist nur ein Beispiel und möglicherweise Link zu einer veralteten Version, verwenden Sie bitte die neueste verfügbare Version von der downloads page, klicken Sie auf Download, brechen Sie den Downl oad, kopieren Sie die direkte Verbindung von der Vielen Dank für das Herunterladen IntelliJ IDEA Seite und fügen -jdk-bundled (-custom-jdk-bundled seit 14.1) zum Dateinamen hinzu. Verwenden Sie diese Version nur, wenn das Ausführen unter Java 6 absolut keine Option für Sie ist, beachten Sie die known issues.

+0

Während des Updates warnte IntelliJ vor der Änderung von Info.plist, aber nach dem Drücken von 'Ignorieren' ging es normal weiter, also keine große Sache. –

+1

@ctapobep abhängig von den Sicherheitseinstellungen des Systems, die die digitale Signatur der Anwendung verletzen, können die Netzwerkfunktionen blockieren oder den Zugriff auf den Systemkeychain einschränken (keine gespeicherten Kennwörter für die Versionskontrolle usw.). – CrazyCoder

+1

Was passiert mit meinem System Java-Version (jetzt 1.7.55) nach der Installation dieses Apple Java 6? – hakunami

92

Was Sie tun müssen, ist gehen Sie vor und bearbeiten diese Datei:

/Anwendungen/IntelliJ IDEA 13.app/Contents/Info.plist

das Ersetzen:

<key>JVMVersion</key> 
<string>1.6*</string> 

mit diesem:

<key>JVMVersion</key> 
<string>1.7*</string> 

Edit: sagte von den Mitglied @crazycoder IntelliJ, die Recomended Weg, dies zu insgesamt zu beheben, ist die neueste jdk 1.6

+0

Natürlich können Sie auch versuchen, Java 6 oder Java 8 zu installieren. –

+0

Vielen Dank! Das hat auch für mich funktioniert. Ich habe nicht versucht, Java 6 oder Java 8 zu installieren. –

+2

Oracle Java 1.7 und 1.8 JDKs haben Probleme mit der Schriftdarstellung unter Mac OS. Wenn Sie das nicht stört, können Sie die JVMVersion einfach wie hier erwähnt aufrüsten. Wenn es Sie jedoch stört, dann installieren Sie Java 1.6, wie in der Antwort von Leszek Gruchala erwähnt. – Michael

6

Oder ändern Sternchen auf plus

<key>JVMVersion</key> 
<string>1.6+</string> 

Der Nachteil ist, OS X zu installieren Werde mit jeder IDEA um Erlaubnis fragen.

Aber Java 8 hat immer noch einige Bugs, besonders auf Retina-Geräten und JetBrains ermutigt immer noch, Java 6 von Apple zu verwenden. Letztes Update mit IDEA arbeitet an Yosemite verfügbar ist hier http://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

+0

Font-Rendering funktioniert wie es sollte mit der verknüpften Version von Java 6. Ich werde mit diesem Setup bleiben, bis Java 8 in diese Richtung verbessert wird (wenn es sein wird). – raindev

11

Ich fand, dass die Installation Java for OS X 2014-001 nach der Aktualisierung auf Yosemite hat es für mich gelöst.

+2

Ich höre, dass dies für eine Gruppe von Menschen in unserem Büro arbeitete, so dass ich nicht ' Ich verstehe, warum Sie (irgendwann) downvotiert wurden. –

+0

Dies ist auch die Lösung für El Capitan. – LanceP

1

OSX hat seine JDKs im Ordner /Library/Java/JavaVirtualMachines/. Dort kann es mehrere Versionen geben, z.B. 1.7 oder 1.8.

Wie von @CrazyCoder angezeigt, benötigt IntelliJ eine 1.6-Version, um dort zu sein, die Yosemite rausgeschmissen hat (zugunsten einer 1.7, wenn ich mich nicht irre).

Um jdk 1.6 zu installieren, können Sie einfach die dmg from apple wie von @CrazyCoder empfohlen und von @LanceP bestätigt verwenden.

Als homebrew cask Benutzer installierte ich über

brew tap caskroom/versions 
brew cask install java6 

Danach, IntelliJ war wieder läuft.

Siehe auch diese useful post zum Verwalten mehrerer Java-Versionen unter OSX.

2

Wenn Sie das neueste JDK haben, können Sie info.plist ändern.

bearbeiten Info.plist-Datei in Ihrem jdk, zum Beispiel:

/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Info.plist 

Update JVMCapabilities Wörterbuch folgende Werte haben:

  <key>JVMCapabilities</key> 
      <array> 
        <string>CommandLine</string> 
        <string>JNI</string> 
        <string>BundledApp</string> 
        <string>WebStart</string> 
        <string>Applets</string> 
      </array> 

Nun versuchen die App neu zu starten. Die Anwendung sollte nun von Ihrem JDK Gebrauch machen anstatt nach JDK 6 zu suchen

+0

[* "Das Ändern von Info.plist unterbricht die digitale Signatur der Anwendung und verhindert die Aktualisierung der Patches. Es wird nicht empfohlen, die Datei Info.plist so zu ändern, dass sie unter JDK 1.7 oder 1.8 ausgeführt wird." *] (Https: //intellij-support.jetbrains .com/entries/27854363-IDE-doesn-t-Start-nach der Aktualisierung-zu-Mac-OS-Yosemite-oder-Mavericks). Selbst wenn Sie die Datei für Java ändern, sollten Sie das vorsichtig tun. – Tom

+0

Ich schlage nicht vor, IntelliJ's Info.plist zu ändern. Ich schlage vor, JDK's Info.plist zu ändern. Der Inhalt des intelliJ-Pakets ist also unberührt. –

+0

Versucht dies, auch nach dem vollständigen Neustart: kein Effekt. Ist das dokumentiert? Sollte das funktionieren? –

Verwandte Themen