【发布时间】:2011-05-24 03:05:21
【问题描述】:
Eclipse打不开,以前用过eclipse,以前打开没问题。现在我不断收到以下错误消息:
Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 必须可用才能运行 Eclipse。搜索以下位置后,没有找到 Java 虚拟机:
之前已经让 eclipse 打开并处理过项目,但不会打开。
这是我不断得到的屏幕截图:
【问题讨论】:
Eclipse打不开,以前用过eclipse,以前打开没问题。现在我不断收到以下错误消息:
Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 必须可用才能运行 Eclipse。搜索以下位置后,没有找到 Java 虚拟机:
之前已经让 eclipse 打开并处理过项目,但不会打开。
这是我不断得到的屏幕截图:
【问题讨论】:
You can explicitly tell Eclipse where to find it。打开 eclipse.ini 并将以下行添加到文件顶部:
-vm
/absolute/path/to/jre6/bin
更新:我刚刚在自己的 Windows 机器上确定了根本原因。 GlassFish 安装程序抱怨完全相同的错误消息,在 GlassFish 论坛中挖掘后,原因很清楚:Windows 机器上的 JRE 安装损坏。我的 JRE 随 JDK 一起出现,而 Java 6 JDK 安装程序没有以某种方式正确安装 JRE。 JDK 的 JRE 安装中缺少 DLL 文件。在我从 http://java.com 重新安装独立 JRE 并覆盖旧的 JRE 后,GlassFish 安装程序继续运行,并且 Eclipse 能够在没有 eclipse.ini 中的这两行的情况下完美启动。
【讨论】:
C:\Program Files (x86)\Java\jre6\bin
通常是因为:
-vm 参数中指出了错误的 jvm 路径:请参阅此 SO question 以获取具体示例。eclipse.ini 以某种方式损坏(如果它没有被修改,这不是它,但如果设置 jvm 路径不起作用,...我会用来自的一个替换 eclipse.ini只是为了确保全新安装)维基页面“Finding a VM, Using JNI Invocation or Executing Java”上的更多详细信息
没有指定-vm
当没有指定
-vm时,启动器首先在eclipse根目录下的jre目录中查找虚拟机,然后在搜索路径中查找。
如果在任一位置找到 java,则我们会查找与该 java 可执行文件相关的 jvm 共享库(window 上的 jvm.dll,*nix 平台上的 libjvm.so)。
- 如果找到 jvm 共享库,我们会加载它并使用 JNI 调用 api 来启动 vm。
- 如果没有找到 jvm 共享库,我们执行 java 启动器以在新进程中启动 vm。
如“FAQ How do I run Eclipse?”中所述:
Eclipse 不参考
JAVA_HOME环境变量。
所以我会检查你的 $PATH,从 n 个新的 shell 会话开始(无论你的操作系统是什么),输入“java -version”以查看它是否仍然返回任何内容。
【讨论】:
我遇到了同样的问题,问题是我的 64 位机器上运行了 32 位版本的 Eclipse,它想要 32 位版本的 JRE。
我在eclipse.ini 文件中将Program Files 更改为Program Files (x86),如下所示:
-VM
C:Program Files (x86)\Java\jre6\bin
这样就解决了问题。
您可能只想安装 64 位 Eclipse,但这会解决错误。
【讨论】:
这是我的修复方法:
找到您的 jre 的安装位置。就我而言,它位于 C:\Program Files\Java\jdk1.7.0_10
复制 jre 文件夹并将其粘贴到 eclipse 文件所在的位置(eclipse.exe 所在的位置)。
当您下载 eclipse 时,您会得到一个 .zip 包,其中包含 eclipse.exe 和运行 eclipse 所需的所有其他文件,但它缺少 jre 文件。所以你需要做的就是找到 jre 文件夹在你的硬盘上的位置并将它添加到 eclipse 包的其余部分。
【讨论】:
您是否通过 java.com 网络浏览器自动安装来安装 Java?如果是这样,那就是你的问题!您需要“手动”安装:http://www.java.com/en/download/manual.jsp
这只是正确匹配 32 位 Eclipse/32 位 Java 或 64 位 Eclipse/64 位 Java 的问题。许多 64 位 Windows 都有 32 位浏览器,而后者是自动安装程序将提供的 Java 版本 - 而不是 64 位 Eclipse 想要的。
【讨论】:
确保 JDK 的安装路径在 Windows 的 Path 变量中。
【讨论】:
就是这么简单,只需添加你的java路径例如:
C:\Program Files\Java\jdk1.8.0_121\bin
在PATH系统变量中
【讨论】:
我之前在 Eclipse 和 STS IDE 上遇到过类似的问题
JDK/JRE 在您的机器中是否可用。如果没有,请安装 JDK 并设置环境变量。eclipse.ini 或 sts.ini 中设置 vm 参数了。-vm C:Program Files (x86)\Java\jre8\bin
【讨论】:
我在使用 Eclipse IDE 开发 android 应用程序时也遇到了同样的问题。 我通过删除所有 java 安装解决了这个问题(我有 java 6 和 7)并只重新安装 jdk 7。
【讨论】:
将-vm C:/Program Files/Java/jdk1.6.0_29/bin/javaw.exe 添加到 .ini 文件对我有帮助。
【讨论】:
我通过以下步骤解决了这个问题,
1)
请找到相同的屏幕截图。
【讨论】:
只是在其他答案之上添加:
Windows 用户:您可以在 eclipse.ini 中提供 JRE 的 PATH,用“/”或“\”分隔。没关系。 Eclipse 无论如何都会选择它。例如,在我的 windows 系统中,任何一个路径都可以(当然是在 -vm 之后):
C:/Program Files/Java/jre1.8.0_181/bin 或 C:\Program Files\Java\jre1.8.0_181\bin
【讨论】:
用正确的 JDK 路径更改 eclipse.ini 文件中的 vm 值,如下所示,
-vm /Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home/bin
eclipse.ini 的路径在我看来是这样的,
/Users/tomcat/eclipse/jee-2018-09/Eclipse.app/Contents/Eclipse
【讨论】:
如果您从路径变量中删除 Java,有时会发生这种情况。 要再次设置 PATH 变量,请将 jdk\bin 目录的完整路径添加到 PATH 变量中。通常,完整路径是:
C:\Program Files\Java\jdk-11\bin
在 Microsoft Windows 上设置 PATH 变量:
【讨论】:
我在win7机器上也遇到过这个问题。 我想用 jdk 更新 jre。所以我删除了jre文件夹并下载并解压缩了新的jdk。 问题是我手动删除了 jre 文件夹,而我应该卸载它。这留下了一堆仍然指向旧 jre 的注册表项。不知何故,eclipse仍然想使用旧的jre。 我无法卸载旧的 java vm,我一直收到这个错误:
错误 1723。此 Windows 安装程序包有问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商
所以我不得不使用这个 MS 实用程序来修复卸载:
http://support.microsoft.com/kb/2438651/
然后我不得不再次安装虚拟机。我安装到原来的位置,以避免再浪费一个小时!之后,日食开始正确。
胡里奥
【讨论】:
我刚遇到这个问题并以这种方式解决了它。我注意到错误消息中包含 jre 而不是 jre6 或 jre7,所以我将 jre6 从程序文件复制到 eclipse 文件夹,然后将其从 jre6 重命名为 jre,然后它起作用了:p
【讨论】:
我是新手,但我只安装了 JRE 而不是 JDK。安装了 JDK,我的问题立即消失了。
【讨论】:
我遇到了这个问题,这是由于我的 Windows 机器正在运行。我进入控制面板->系统->高级-环境变量。
我编辑了 PATH 变量(已正确设置),未更改任何内容,单击“确定”退出屏幕。
然后日食起作用了。不知道为什么,除了因为窗户。希望这可以帮助某人。
【讨论】:
我遇到了这个问题;我通过去修复它
计算机-->属性-->高级设置-->环境变量
在系统变量中找到名为 PATH 的变量。
-->选择编辑
-->在路径变量的最后,放一个“;”然后添加您的 JDK 路径并将 \bin\ 放在末尾p>
应该是固定的。
示例:
系统变量-
C:\Program Files (x86)\Common Files.......HP\LeanFT\bin
JDK 路径-
C:\Programs Files\Java\jre1.8.0_121
最终路径 -
C:\Program Files (x86)\Common Files.......HP\LeanFT\bin;C:\Programs Files\Java\jre1.8.0_121\bin\
【讨论】:
Common Files.......HP\LeanFT\bin 路径。用 Java 开发不需要它。
很简单。 JDK bin 目录或 JRE bin 目录应该在路径变量中 示例: Java 安装目录: 假设您的 java 安装在 'C:\Program Files\java\Jdk1.8.0_144' 目录中 现在您可以在 'C:\Program Files\java\Jdk1.8.0_144\bin' 中找到 bin 目录
导航到用户的环境变量
Control Panel --> User Accounts --> User Accounts --> Change my environment variables
在弹出窗口中单击 用户变量 部分下的路径 点击Edit...按钮,将出现另一个弹出窗口
点击New按钮并输入C:\Program Files\java\Jdk1.8.0_144\bin
点击OK按钮,再次点击Environment variables popup中的OK按钮。
现在你可以毫无错误地打开你的eclipse了
【讨论】:
我找到了一个解决方案,其中 Eclipse.ini 的位置是旧版本的 Java,更新新版本的 java 后的位置 -vm
C:\Program Files\Java\jre1.8.0_201\bin
是一样的,所以我不得不将目录更改为我的新 Java 版本。
所以解决方案是打开最新的 Java 版本并复制其目录路径并在 Eclipse.ini 文件中替换它。
【讨论】:
类似 Linux 系统的适度未来证明示例。假设 javac 已安装并在您的路径上。
./eclipse -vm dirname $(readlink -f $(which javac))
这将找到安装 javac 的目录,并将作为 vm 参数传递给 eclipse。
【讨论】:
如果在 Linux(例如:Ubuntu 18)上,请尝试安装(或在您的情况下重新安装?)default-jre,如下所示:
sudo apt update
sudo apt install default-jre
我刚刚尝试在新的Eclipse download 上运行 Eclipse 安装程序 (./eclipse-inst) 时遇到了同样的错误,安装程序甚至无法运行!安装default-jre就解决了!
【讨论】:
在我的例子中,我出于不同的目的编辑了 eclipse.ini 以包含 -vm 参数。那是导致失败的原因。我删除了 -vm 和包含 \bin 的以下行并解决了问题。
【讨论】: