从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 ;
和Exclipse启动时没有OS X警报提示。
我尝试修改Eclipse app bundle plist,将-vm键指向/System/Library/Frameworks/JavaVM.frameworks/Versions/Current/Commands/java,但我觉得我可能不应该这样做这样做。
我想知道如何通过双击Application包来启动Eclipse。让我烦恼的是一件小事......:o)
答案 0 :(得分:11)
最佳答案是修复Java 7安装,如下所示:
https://stackoverflow.com/a/19594116
简单易行,我确认它适用于小牛队。使用此修复程序,您可以照常从启动板启动应用程序。如果升级JDK,则必须将修复程序重新应用于新安装。
答案 1 :(得分:9)
我安装了JDK 7,我通过从终端而不是查找器运行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
答案 2 :(得分:6)
这是一个丑陋的黑客,但效果很好。
答案 3 :(得分:4)
发布在此页:Mountain Lion with Java 7 only
要使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程序都可以运行这个小小的hack而无需安装Java 6. OS X的Java Preferences(可能还有其他一些)不会因为它在启动时显式检查JVM的版本。
上面的脚本可以解决我的问题。
答案 4 :(得分:3)
希望您使用的是64位Java SE 1.7.0,以便提供以下建议。
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
粘贴到 JRE主页 您需要重新启动。
答案 5 :(得分:3)
要解决您的问题,您只需要从http://support.apple.com/kb/DL1572?viewlocale=en_US下载jdk1.6,然后安装它,稍后您就可以运行eclipse了,您可以将JAVA_HOME设置为JDK1.7,然后你就可以了将能够从eclipse“Preferences”中找到JDK1.7。
答案 6 :(得分:3)
对于它的价值,Eclipse团队似乎通过用基于CFBundleCreate()的基于dlopen()的方法替换它来解决它:https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361
如果任何人在启动Java的代码中遇到同样的问题并且不想使用仅限Apple的API,我发现了一个更简单的解决方法:在dlopen()之前使用$ JRE_HOME / lib / server / libjvm。 dylib,确保打开dlopen()$ JRE_HOME / lib / jli / libjli.dylib。然后它不会要求安装Java 6。
答案 7 :(得分:2)
所有这些黑客都无法在mac Mavericks上运行, 但是找到了一个简单而有效的解决方案here 它像我一样迷人。
注意:此解决方案的一个缺点是当您使用“java -version”命令检查Java版本时,它将读取Java 1.6
答案 8 :(得分:1)
在设置新的mac并尝试运行仅安装了Java SE 7的eclipse 4.2.2(作为JDK 7u17的一部分)时,我收到了完全相同的消息。
为了能够成功启动Eclipse,在安装最新的JDK之前,我必须首先让OSX下载并安装Apple的Java SE 6运行时。
安装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,如消息中所示。
答案 9 :(得分:1)
前几天我遇到了完全相同的问题,今天我解决了。刚刚安装了此http://support.apple.com/kb/dl1572
之后,当我打开eclipse时,OSX安装了一些java更新并通过Eclipse.app开始工作开启eclipse。
希望它也适合你。
答案 10 :(得分:0)
我有同样的问题。
首先; JDK(Java开发工具包)和JRE(Java运行时环境)是不同的东西。它让人感到困惑
为了安装eclipse你应该安装最新的JDK。所以
访问 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
为您的Mac下载合适的版本
您现在可以查看您的版本;它不再是1.6
尝试再次安装eclipse,看看它是否有效。
答案 11 :(得分:0)
我遇到了这个问题,发现我的Mac上没有安装JDK。一旦我这样做,Eclipse就会正常启动。
答案 12 :(得分:0)
我发现了同样的问题(Mac OS X 10.9.2,Java 1.7.0_53b13,Eclipse Kepler)。解决方法非常简单:
答案 13 :(得分:0)
我想用Java 7运行Eclipse本身。因为我有几个没有它的插件。对我来说,10.9的解决方案都没有,但我找到了解决方法。主要的想法是你用java -jar 启动器 .jar启动eclipse并提供一些魔法属性,然后启动它。这个人在评论中提供了命令行脚本,对我有用:
答案 14 :(得分:0)
在Mavericks升级后尝试启动各种Eclipse版本会弹出一个包含此消息的对话框:
要打开“Eclipse.app”,您需要一个Java SE 6运行时。你想现在安装吗?
事实证明,在OS X 10.9中默认禁用Java 7 这很容易验证如下:
$ 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或终端运行,不会有任何技巧,黑客攻击或解决方法。
答案 15 :(得分:0)
从Sun安装最新的JDK,它安装到/Library/Java/JavaVirtualMachines/
,例如/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk
sudo mkdir /System/Library/Java/JavaVirtualMachines
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二进制文件引起的:Application is using Java 6 from Apple instead of Java 7 from Oracle on Mac OS X?
现在,请从命令行输入eclipse,它可以正常工作,JAVA_HOME设置为Java 7(/ usr / libexec / java_home命令会告诉你)
答案 16 :(得分:0)
如果您只想安装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 /库/爪哇/ JavaVirtualMachines /
完成后,您将在 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk 中找到一个Alias,它指向* / Library / Java / JavaVirtualMachines / 1.6上的Java安装目录.0_XX-XXX-XXX.jdk *