Mac 10.8上的Eclipse – 安装了1.7.0 JRE / JDK,但Eclipse不会启动

  • 已安装Oracle的Java SE 1.7.0u10及其安装程序包

  • 下载并解压缩的Eclipse Juno(4.2.1)

  • 双击Eclipse purple图标并获取OS X警报提示,并显示错误消息:

要打开“Eclipse”,您需要Java SE 6运行时。 你想现在安装吗?

  • (在终端中) which java/usr/bin/java

  • ls -l /usr/bin/java/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

  • (在Finder中)双击eclipse别名(在解压缩下载时包含) – 终端启动,/ /Applications/Eclipse/Eclipse.app/Contents/MacOS/eclipse ; exit ; Eclipse / /Applications/Eclipse/Eclipse.app/Contents/MacOS/eclipse ; exit ; /Applications/Eclipse/Eclipse.app/Contents/MacOS/eclipse ; exit ; 和Exclipse在没有OS X警报提示的情况下启动。

我已经尝试修改Eclipse app bundle plist,将-vm键指向/System/Library/Frameworks/JavaVM.frameworks/Versions/Current/Commands/java,但我觉得我可能不应该这样做。 `

我想知道如何通过双击Application包来启动Eclipse。 让我烦恼的是一件小事……:o)

最佳答案是修复Java 7安装,如下所示: https : //stackoverflow.com/a/19594116
简单易行,我已确认它适用于小牛队。 使用此修复程序,您可以照常从启动板启动应用程序。 如果升级JDK,则必须将修复程序重新应用于新安装。

我安装了JDK 7,我通过从终端而不是finder运行eclipse来解决eclipse Kepler的这个问题。

 ./eclipse 

只想分享。

更新1

为了完整起见,如果你想从Finder运行它,你可以将./eclipse命令包装到.command文件中并从Finder运行它(这样你就不必打开终端)

以下几行应该完成这项工作(不要忘记将“your-full-eclipse-path”替换为机器上的eclipse路径)

 #!/bin/sh /your-full-eclipse-path/eclipse 

之后,为刚刚创建的eclipse.command文件授予执行权限

 chmod +x eclipse.command 

我在Ask Different上找到了答案

这是一个丑陋的黑客,但完美的工作。

本页发布: Mountain Lion仅限Java 7

要欺骗OS X接受Java 7而不是建议安装Java 6,一个简单的符号链接就足够了:

sudo mkdir / System / Library / Java / JavaVirtualMachines

sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

大多数Java程序都可以运行这个小小的黑客而无需安装Java 6. OS X的Java首选项(可能还有其他一些)不会因为它在启动时显式检查JVM的版本。

上面的脚本可以解决我的问题。

希望您使用的是64位Java SE 1.7.0,以便提供以下建议。

  1. 转到Eclipse-> Preferences …-> Java-> Installed JREs
  2. 点击添加…
  3. 选择标准VM
  4. 粘贴/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home进入JRE主页
  5. 将JRE名称更改为Java SE 7之类的有用名称
  6. 单击完成
  7. 选中新创建的JRE旁边的复选框。

你需要重启。

你能想象吗? 您必须安装JDK 1.6才能使eclipse正常运行,即使您已经安装了jdk 1.7,并正确设置JAVA_HOME。

要解决您的问题,您只需从http://support.apple.com/kb/DL1572?viewlocale=en_US下载jdk1.6,然后安装它,稍后您就可以运行eclipse了,您可以设置JAVA_HOME到JDK1.7,你将能够从eclipse“Preferences”中找到JDK1.7。

对于它的价值,Eclipse团队似乎通过用基于CFBundleCreate()的基于dlopen()的方法替换它来解决它: https ://bugs.eclipse.org/bugs/show_bug.cgi?id = 411361

如果任何人在启动Java的代码中遇到同样的问题并且不想使用仅限Apple的API,我发现了一个更简单的解决方法:在dlopen()之前使用$ JRE_HOME / lib / server / libjvm.dylib,make一定要打开dlopen()$ JRE_HOME / lib / jli / libjli.dylib。 然后它不会要求安装Java 6。

所有这些黑客都无法在mac Mavericks上运行,但是在这里找到了一个简单而有效的解决方案,它就像魅力一样对我有用。

注意:此解决方案的缺点是当您使用“java -version”命令检查Java版本时,它将读取Java 1.6

在设置新的mac并尝试运行仅安装了Java SE 7的eclipse 4.2.2(作为JDK 7u17的一部分)时,我收到了完全相同的消息。

为了能够成功启动Eclipse,我必须首先让OSX下载并安装Apple的Java SE 6运行时,然后再安装最新的JDK。

安装JDK后,命令java -version正确显示:

 java version "1.7.0_17" Java(TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode) 

尝试以相反的方式解决问题不起作用 – 即在安装Java SE 6之前首先安装JDK 7u17,如消息中所建议的那样。

几天前我遇到了完全相同的问题,今天我解决了。 刚刚安装了这个http://support.apple.com/kb/dl1572

之后,当我打开eclipse时,OSX安装了一些java更新并通过Eclipse.app开始工作开启eclipse。

希望它也适合你。

如果您只想安装Java 6 JDK(没有Java 7 JDK / JRE,仅限Java 6 JRE),请安装Apple OSX Java DMG(在撰写本文时,这是http://adcdownload.apple.com/ Developer_Tools / java_for_os_x_2013003_developer_package / java_for_os_x_2013003_dp__11m4406.dmg )。

你仍然无法启动Eclipse。 在/ System / Library / Java下创建一个目录JavaVirtualMachines 。 然后在/ Library / Java / JavaVirtualMachines中创建 java版本文件夹的别名并重命名别名1.6.0.jdk并将该别名复制到/ System / Library / Java / JavaVirtualMachines /

完成后,您将在/System/Library/Java/JavaVirtualMachines/1.6.0.jdk上找到一个别名,该别名指向* / Library / Java / JavaVirtualMachines / 1.6.0_XX-XXX-XXX.jdk *中的Java安装目录

  1. 从Sun安装最新的JDK,它安装到/Library/Java/JavaVirtualMachines/ ,例如/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk

  2. sudo mkdir /System/Library/Java/JavaVirtualMachines

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

=========这个技巧曾经用于Mountain Lion,但不是Maverick 10.9不知何故============

在Maverick再试一次,它不再起作用了。 我也试图改变eclipse app plist和eclipse.ini(通过添加-vm或),也不起作用。

有人建议这是由使用Apple 1.6 appbundler而不是Oracle java7 appbundler编写的Eclipse二进制文件引起的: 应用程序在Mac OS X上使用Apple的Java 6而不是Oracle的Java 7?

现在,请从命令行输入eclipse,它可以正常工作,JAVA_HOME设置为Java 7(/ usr / libexec / java_home命令会告诉你)

如何使Eclipse在OS X 10.9 Mavericks上运行

在Mavericks升级后尝试启动各种Eclipse版本会弹出一个包含此消息的对话框:

要打开“Eclipse.app”,您需要一个Java SE 6运行时。 你想现在安装一个吗?

在此处输入图像描述

事实certificate,在OS X 10.9中默认禁用Java 7。
这很容易validation如下:

 $ java --version No Java runtime present, requesting install. 

解决方案是从Apple支持安装最新支持的Java版本: Java for OS X 2013-005 ( http://support.apple.com/kb/DL1572
截至2013年10月15日,这将是Java SE 6 1.6.0_65。
发布日期:2013年10月15日
文件大小:63.98 MB

安装完成后,Eclipse将按照预期从Dock,Finder或终端运行,不需要任何技巧,黑客或解决方法。

我想用Java 7运行Eclipse本身。因为我有几个没有它的插件。 对我来说,10.9的解决方案都没有,但我找到了解决方法。 主要的想法是你用java -jar 启动器 .jar启动eclipse并提供一些魔法属性,然后启动它。 这个人在评论中提供了命令行脚本,对我有用:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c25

我发现了同样的问题(Mac OS X 10.9.2,Java 1.7.0_53b13,Eclipse Kepler)。 解决方法很简单:

  1. 在Finder中查找可执行文件(CMD +点击Dock中的Eclipse图标)
  2. 从Dock中删除图标
  3. CTRL +单击Finder中的可执行文件
  4. ALT + Open(允许执行未签名的应用程序)
  5. Eclipse正常打开,没有任何问题
  6. 将程序重新拖动到Dock上

我遇到了这个问题,发现我的Mac上没有安装JDK。 一旦我这样做,Eclipse就会正常启动。

open /Library/Java/JavaVirtualMachines/jdkXXXXX.jdk/Contents/Info.plist

设置( BundledApp非常有用!):

 JVMCapabilities   JNI  BundledApp  WebStart  Applets  CommandLine  

我有同样的问题。

首先 ; JDK(Java开发工具包)和JRE(Java运行时环境)是不同的东西。 人们很困惑

为了安装eclipse你应该安装最新的JDK。 所以

  1. 访问http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  2. 为您的Mac下载合适的版本

  3. 你现在可以查看你的版本; 它不再是1.6了

  4. 尝试再次安装eclipse,看看它是否有效。

祝好运!..