【问题标题】:A JRE or JDK must be available in order to run Eclipse. No JVM was found after searching the following locations必须有 JRE 或 JDK 才能运行 Eclipse。搜索以下位置后没有找到JVM
【发布时间】:2011-05-24 03:05:21
【问题描述】:

Eclipse打不开,以前用过eclipse,以前打开没问题。现在我不断收到以下错误消息:

Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK) 必须可用才能运行 Eclipse。搜索以下位置后,没有找到 Java 虚拟机:

之前已经让 eclipse 打开并处理过项目,但不会打开。

这是我不断得到的屏幕截图:

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    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 中的这两行的情况下完美启动。

    【讨论】:

    • @DavidSmith 对我来说就像一个魅力。在 Windows 机器上,路径如下所示:C:\Program Files (x86)\Java\jre6\bin
    • 在 ini 文件后面可能有另一个 -vm 参数覆盖您放在顶部的那个,指向一个不存在的 VM(例如,因为 Java 更新了自身并删除了旧版本) .如果是这样,请删除后面的行。
    • 记住 eclipse.ini 可能已经有一个参数 -vm。如果是这样,请将路径替换为正确的路径。我在更新我的 JAVA 后遇到了这个问题。
    • 在 .ini 文件末尾添加这个并没有解决我的问题。在 -vmargs 参数之前添加它,然后重试。
    【解决方案2】:

    我遇到了这个问题,因为我卸载了 jdk 版本 13 并重新安装了 jdk 版本 8

    即使我更新了路径变量 eclipse 仍然选择旧配置。

    您需要编辑放置 eclipse.exe 的文件夹中的 eclipse.ini 文件。

    只需使用最新路径更新此文件,以便 eclipse 可以获取它

    【讨论】:

    • 这是一个很好的答案,我建议使用像 Notepad++ 这样的文本编辑器打开这个 .ini 文件以获得更好的可读性。
    【解决方案3】:

    通常是因为:

    • 您在 -vm 参数中指出了错误的 jvm 路径:请参阅此 SO question 以获取具体示例。
    • eclipse.ini 以某种方式损坏(如果它没有被修改,这不是它,但如果设置 jvm 路径不起作用,...我会用来自的一个替换 eclipse.ini只是为了确保全新安装)
    • eclipse默认搜索的java不再可用(因为$PATH不再是最新的)

    维基页面“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”以查看它是否仍然返回任何内容。

    【讨论】:

    • 遇到了同样的问题,用这个答案解决了这个问题,它在 Ubuntu 12.04LTS 下工作
    【解决方案4】:

    C:\Program Files\Java\jre1.8(or)1.6(or)1.7\bin 复制 javaw.exe

    并将其粘贴到 Eclipse 文件夹中 eclipse.exe 在那里。就是这样。

    【讨论】:

    • 它可以工作,但看起来仍然像 hack,但不是正确的解决方案。还是投了赞成票。
    【解决方案5】:

    我遇到了同样的问题,问题是我的 64 位机器上运行了 32 位版本的 Eclipse,它想要 32 位版本的 JRE。

    我在eclipse.ini 文件中将Program Files 更改为Program Files (x86),如下所示:

    -VM
    C:Program Files (x86)\Java\jre6\bin
    

    这样就解决了问题。

    您可能只想安装 64 位 Eclipse,但这会解决错误。

    【讨论】:

    • 这个答案。我的 Eclipse 来自 OlimexODS 包,并配置为使用 32 位启动,我的 JDK 来自 Netbeans 64 位包。没有任何启动失败消息以任何方式表明该不匹配问题。好旧的便携式 Java:编写一次,到处崩溃 检查:如果您的 eclipse.ini 有一些类似于 plugins/launcher.win32.win32.x86 的内容,那么它的 32 位构建。如果命令行中的 java -version 显示类似 Java HotSpot(TM) 64 位服务器 VM(内部版本 24.51-b03,混合模式),那么您可能会遇到这个问题。
    【解决方案6】:

    这是我的修复方法:

    1. 找到您的 jre 的安装位置。就我而言,它位于 C:\Program Files\Java\jdk1.7.0_10

    2. 复制 jre 文件夹并将其粘贴到 eclipse 文件所在的位置(eclipse.exe 所在的位置)。

    当您下载 eclipse 时,您会得到一个 .zip 包,其中包含 eclipse.exe 和运行 eclipse 所需的所有其他文件,但它缺少 jre 文件。所以你需要做的就是找到 jre 文件夹在你的硬盘上的位置并将它添加到 eclipse 包的其余部分。

    【讨论】:

      【解决方案7】:

      您是否通过 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 想要的。

      【讨论】:

        【解决方案8】:

        确保 JDK 的安装路径在 Windows 的 Path 变量中。

        【讨论】:

          【解决方案9】:

          就是这么简单,只需添加你的java路径例如:

          C:\Program Files\Java\jdk1.8.0_121\bin

          PATH系统变量中

          【讨论】:

            【解决方案10】:

            我之前在 Eclipse 和 STS IDE 上遇到过类似的问题

            • 请检查天气JDK/JRE 在您的机器中是否可用。如果没有,请安装 JDK 并设置环境变量。
            • 即使在第 1 步之后,如果您仍然遇到问题,那么是时候按以下方式在 eclipse.ini 或 sts.ini 中设置 vm 参数了。
            -vm 
            C:Program Files (x86)\Java\jre8\bin
            

            【讨论】:

              【解决方案11】:

              我在使用 Eclipse IDE 开发 android 应用程序时也遇到了同样的问题。 我通过删除所有 java 安装解决了这个问题(我有 java 6 和 7)并只重新安装 jdk 7。

              【讨论】:

                【解决方案12】:

                -vm C:/Program Files/Java/jdk1.6.0_29/bin/javaw.exe 添加到 .ini 文件对我有帮助。

                【讨论】:

                • 我也是。在 -vmargs 之前添加这个
                【解决方案13】:

                我通过以下步骤解决了这个问题,

                1)

                1. eclipse 从 'C:\ProgramData\Oracle\Java\javapath' 中找到 JAVA 可执行文件
                2. 文件夹结构将包含 the 在可执行文件下方的快捷方式, 一世。 java.exe ii. javaw.exe iii. javaws.exe
                3. 对我来说,可执行路径指向我的 (ProgramFiles(x84)) 文件夹位置
                4. 我将其更正为 Program Files 路径(64 位),问题得到解决

                请找到相同的屏幕截图。

                【讨论】:

                  【解决方案14】:

                  只是在其他答案之上添加:

                  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

                  【讨论】:

                    【解决方案15】:

                    用正确的 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

                    【讨论】:

                      【解决方案16】:

                      如果您从路径变量中删除 Java,有时会发生这种情况。 要再次设置 PATH 变量,请将 jdk\bin 目录的完整路径添加到 PATH 变量中。通常,完整路径是:

                      C:\Program Files\Java\jdk-11\bin

                      在 Microsoft Windows 上设置 PATH 变量:

                      1. 选择控制面板,然后选择系统。
                      2. 点击高级,然后点击环境变量。
                      3. 将JDK安装的bin文件夹的位置添加到 系统变量中的 PATH 变量。

                      【讨论】:

                        【解决方案17】:

                        我在win7机器上也遇到过这个问题。 我想用 jdk 更新 jre。所以我删除了jre文件夹并下载并解压缩了新的jdk。 问题是我手动删除了 jre 文件夹,而我应该卸载它。这留下了一堆仍然指向旧 jre 的注册表项。不知何故,eclipse仍然想使用旧的jre。 我无法卸载旧的 java vm,我一直收到这个错误:

                        错误 1723。此 Windows 安装程序包有问题。无法运行完成此安装所需的 DLL。请联系您的支持人员或软件包供应商

                        所以我不得不使用这个 MS 实用程序来修复卸载:

                        http://support.microsoft.com/kb/2438651/

                        然后我不得不再次安装虚拟机。我安装到原来的位置,以避免再浪费一个小时!之后,日食开始正确。

                        胡里奥

                        【讨论】:

                          【解决方案18】:

                          我刚遇到这个问题并以这种方式解决了它。我注意到错误消息中包含 jre 而不是 jre6 或 jre7,所以我将 jre6 从程序文件复制到 eclipse 文件夹,然后将其从 jre6 重命名为 jre,然后它起作用了:p

                          【讨论】:

                            【解决方案19】:

                            我是新手,但我只安装了 JRE 而不是 JDK。安装了 JDK,我的问题立即消失了。

                            【讨论】:

                              【解决方案20】:

                              我遇到了这个问题,这是由于我的 Windows 机器正在运行。我进入控制面板->系统->高级-环境变量。

                              我编辑了 PATH 变量(已正确设置),未更改任何内容,单击“确定”退出屏幕。

                              然后日食起作用了。不知道为什么,除了因为窗户。希望这可以帮助某人。

                              【讨论】:

                                【解决方案21】:

                                我遇到了这个问题;我通过去修复它

                                计算机-->属性-->高级设置-->环境变量

                                在系统变量中找到名为 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\

                                来源: https://www.java.com/en/download/help/path.xml

                                【讨论】:

                                • 顺便说一句,并非所有人都有Common Files.......HP\LeanFT\bin 路径。用 Java 开发不需要它。
                                【解决方案22】:

                                很简单。 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了

                                【讨论】:

                                  【解决方案23】:

                                  我找到了一个解决方案,其中 Eclipse.ini 的位置是旧版本的 Java,更新新版本的 java 后的位置 -vm

                                  C:\Program Files\Java\jre1.8.0_201\bin

                                  是一样的,所以我不得不将目录更改为我的新 Java 版本。

                                  所以解决方案是打开最新的 Java 版本并复制其目录路径并在 Eclipse.ini 文件中替换它。

                                  【讨论】:

                                    【解决方案24】:

                                    类似 Linux 系统的适度未来证明示例。假设 javac 已安装并在您的路径上。

                                    ./eclipse -vm dirname $(readlink -f $(which javac))

                                    这将找到安装 javac 的目录,并将作为 vm 参数传递给 eclipse。

                                    【讨论】:

                                      【解决方案25】:

                                      如果在 Linux(例如:Ubuntu 18)上,请尝试安装(或在您的情况下重新安装?)default-jre,如下所示:

                                      sudo apt update
                                      sudo apt install default-jre
                                      

                                      我刚刚尝试在新的Eclipse download 上运行 Eclipse 安装程序 (./eclipse-inst) 时遇到了同样的错误,安装程序甚至无法运行!安装default-jre就解决了!

                                      来源:

                                      【讨论】:

                                        【解决方案26】:

                                        在我的例子中,我出于不同的目的编辑了 eclipse.ini 以包含 -vm 参数。那是导致失败的原因。我删除了 -vm 和包含 \bin 的以下行并解决了问题。

                                        【讨论】:

                                          【解决方案27】:

                                          C:\Program Files\Java\jre1.8.0_221\bin 为我工作

                                          【讨论】:

                                          • 这似乎是许多答案所说的(例如123)。
                                          猜你喜欢
                                          • 1970-01-01
                                          • 2017-10-21
                                          • 1970-01-01
                                          • 2012-08-21
                                          • 2011-01-03
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2012-08-01
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多