IntelliJ不会在OS X Yosemite更新后启动

我升级了我的OS X到优胜美地,现在我的IntelliJ IDE没有启动。

这是错误消息:

要打开“IntelliJ IDEA”,您需要安装旧版Java SE 6运行时。

正式推荐的解决scheme是在Mac上安装/更新JDK 1.6 ( 如果此链接在Safari中未打开,请尝试Firefox )。

修改Info.plist将破坏应用程序的数字签名并阻止补丁更新

我们不build议修改Info.plist文件在JDK 1.7或1.8下运行。

请检查此文档 ,以获取Mac上特定于Java 7和8的已知关键问题列表,这些列表会阻止JetBrains默认使用这些Java版本。

虽然Java 6已经知道安全问题并且是EOL,但是当您使用Java 6运行IntelliJ IDEA(以及基于此平台的其他IDE)时,这些问题很可能不会被利用。 Java 6不会安装浏览器插件来运行小程序,当远程攻击者使用它来运行IDE时,这将非常困难(如果不是不可能的话)。

如果您不能接受在Java 6下运行的这些(可能是最小的)风险,我们推荐使用带有捆绑的Java 8(仍然是实验性的)的特殊IDE分发版。 要获得这个版本,添加-jdk-bundled到文件名。 自IDEA 14.1后缀改为-custom-jdk-bundled

例:

请注意,这只是一个例子,可能会链接到一个过时的版本,请使用下载页面的最新版本,点击下载 ,取消下载,从感谢下载IntelliJ IDEA页面复制直接链接 ,并添加-jdk-bundled-custom-jdk-bundled 14.1以后-custom-jdk-bundled )到文件名。 只有在Java 6下运行绝对不是您的select,请注意已知问题才能使用此版本。

你需要做的是继续编辑这个文件:

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

取代这个:

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

有了这个:

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

编辑:正如由intellij成员@crazycoder所说,build议完全解决这个问题的方法是安装最新的jdk 1.6

我发现在升级到Yosemite后为OS X 2014-001安装Java已经为我解决了这个问题。

或将星号更改为加号

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

缺点是OS X会随每个IDEA开始询问您的networking权限。

但是Java 8仍然存在一些bug,特别是在Retina设备上,JetBrains仍然鼓励使用Apple的Java 6。 在优胜美地与IDEA合作的最新更新可在这里http://support.apple.com/kb/DL1572?viewlocale=zh_CN&locale=zh_CN

如果你有最新的JDK,你可以改变info.plist来处理这个问题。

编辑Info.plist文件,在你的jdk中,例如:

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

更新JVMCapabilities字典以具有以下值:

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

现在,请尝试重新启动应用程序。 应用程序现在应该使用您的JDK而不是查找JDK 6

OSX的JDK位于文件夹/Library/Java/JavaVirtualMachines/ 。 可以有多个版本,例如1.7或1.8。

正如@CrazyCoder所指出的那样,IntelliJ需要一个1.6版本才能出现在那里,优胜美地被踢出了(如果我没有弄错的话,赞成1.7)。

要安装jdk 1.6,确实可以简单地使用@CrazyCoder推荐的苹果dmg,并由@LanceP进行确认。

作为一个自制的木桶用户,我通过安装

 brew tap caskroom/versions brew cask install java6 

在这之后,IntelliJ又开始运行了。

另请参阅在OSX上pipe理多个Java版本的这篇有用的文章 。