【问题标题】:Java path..Error of jvm.cfgJava 路径..jvm.cfg 错误
【发布时间】:2012-01-29 05:10:31
【问题描述】:

谁能告诉我为什么当我尝试运行我的 Java 程序时出现以下错误?程序编译成功,但无法运行。 Java的路径我已经设置好了。

C:\JavaServ>javac hello1.java
C:\JavaServ>java hello1
Error: could not open C:\Program Files\Java\jre6\lib\amd64\jvm.cfg

【问题讨论】:

标签: java


【解决方案1】:

不要想这是不是一个正确的方法...(也许正确安装Java是一个永久的解决方案)....但这是一个技巧..:)

从“c:\windows”和“c:\windows\system32”中删除“java.exe”文件。那应该可以解决它。

【讨论】:

  • 如果您将 jdk 和 jre 安装在单独的包中,然后删除其中一个 - 这个技巧会起作用
  • javaws.exe 怎么样?我应该删除它吗?
  • @Francisco Corrales:无需删除 javaws
  • 它适用于我,只需在“c:\windows”中搜索“Java”并删除每个“java.exe”、“javaw.exe”、“javaws.exe”
  • 那些文件不存在
【解决方案2】:

如果您到这里并向下滚动这么远,Java x86 和可能还有 x64 的较新 Oracle 版本已严重损坏。您可能会发现,在删除所有 Java 版本,甚至手动删除在 c:/program files/ 和 c:/program files (x86)/ 中找到的所有版本之后,您仍然无法正确运行全新安装的 Java .

我在这里告诉你为什么,以及如何解决它。

转到 C:\Program Files\Common Files\ 并删除 Oracle 目录。它在它下面的一个连接(符号链接)内有一个 Java 版本,该连接与您的所有其他安装隔离开来。混蛋。

现在,还转到系统属性 -> 高级 -> 环境变量并在系统变量下编辑 PATH。找到Oracle文件夹被引用的地方,将其删除。关闭所有窗口,重新启动以确保是否需要。

安装 JRE 或 JDK。打开命令提示符并键入“java”,如果它出现,你就是金子。如果没有,请返回 PATH 变量并添加“C:\Program Files (x86)\Java\jdk1.8.0_221\bin”或任何适合您机器的内容。

我讨厌甲骨文。

【讨论】:

  • 没错。也可以是文件夹C:\Program Files (x86)\Common Files\Oracle\Java。此外,请确保 JAVA_HOME 仍然设置正确。
  • 是的,我必须删除 C:\Program Files (x86)\Common Files\Oracle\Java 并将其从系统路径中删除
【解决方案3】:

这应该是一个 JRE 的内部文件,一般来说你不应该在运行/编译 java 时处理它。

Here 你可以找到这个文件的确切用途的解释。 归根结底,您的 Java 安装在某种程度上已损坏,因此作为解决此问题的第一选择,我建议您重新安装 jre。

您应该确保为您的架构安装正确的 jre。

希望,这会有所帮助

【讨论】:

  • 如果你重新安装它只会在 JRE 中搜索这个文件,所以它会阻止你删除 JRE。
  • 没用。如果有什么问题我可以修复,我会访问 SO 以了解它是什么以及如何修复它。
【解决方案4】:

如果您遇到此错误,则无法卸载/重新安装 JRE。 这就是为什么因为之前的安装复制了3个文件,即Java.exe,Javaw.exe,javaws.exe在c:/windows/system32文件夹中。 只需去那里删除这些文件,然后从 oracle 下载新版本的 jre 并安装它。我会更喜欢JDK 1.6 update 45。非常稳定。

【讨论】:

    【解决方案5】:

    update registry path to installation location

    当我将默认安装从过度拥挤的主分区移到另一个位置时,这发生在我身上。冷杉

    【讨论】:

      【解决方案6】:

      在向我们推出安全补丁后,Java 在我的工作 PC 上神秘地崩溃了,每当您尝试运行 Java 程序时都会出现此错误。 Java 7 安装的“lib”子目录不知何故消失了!这可能与同时安装了多个 Java 版本有关。

      如果您收到此错误,则基本上有两件事可能是错误的:

      1) 您的 Java 安装已损坏。如果它抱怨的文件/目录不存在,请卸载并重新安装 JRE,然后它应该在那里。这为我解决了问题。

      2) 如果文件在那里,您的 PATH 不知何故不正确或指向旧的/损坏的 Java 安装。在这种情况下,您要么需要修复 PATH 以指向正确的 java.exe/javaw.exe,要么使用完全限定的路径。所以而不是:

      java <whatever>
      

      使用

      c:\<full path to correct JRE>\bin\java.exe <whatever>
      

      3) 如果你的 PATH 是正确的并且文件在那里并且它仍然失败,那么路径可能会被截断,因为它太长了。见:Running Java gives "Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'"

      【讨论】:

      • 卸载/重新安装并不能解决问题。未创建 amd64 文件夹,而 java.com 版本验证程序验证最新版本。尽管如此,即使是简单的命令行 java -version 也会失败。
      【解决方案7】:

      由于C:\Windows\System32java,javawjavaws 的另一个实例指向jre6 而我的jre 的默认位置指向这个(C:\Windows\System32 ) 地点。即使将 jdk 1.8 作为我的JAVA_HOME 位置,我也遇到了这个问题。 所以删除或重命名 java、javaw 和 javaws 都可以。

      【讨论】:

        【解决方案8】:

        如果您有安装程序在 Windows 上部署 Java,并决定通过移动文件夹为您的 JDK 带来一些秩序...

        Windows\System32java.exe 的所有答案都是正确的,但在更艰难的情况下 - 没有文件,但仍然会出现错误消息,然后记住关于 Windows 注册表 条目(看regedit.exe)。

        他们将有关 JRE 文件夹的信息存储在此注册表项中:

        win32:
        HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

        win64:
        HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment

        【讨论】:

          【解决方案9】:

          程序可以编译,但运行时会出现这样的错误:

          无法打开 C:\Program Files\Java\jre6\lib\amd64\jvm.cfg

          表示程序文件中缺少 jvm.cfg 文件。原因可能是文件损坏或文件可能被删除。在“Program Files”文件夹中重新安装 JRE。

          发生在我身上的另一种情况是,我在 Program Files(x86) 的 64 位系统中安装了 32 位 jdk 和 jre,而我的 Program Files 文件夹为空。这就是那个错误的原因。所以我在 Program Files 文件夹中安装了 64 位 JRE,它开始工作了。请注意,它与 jdk 版本无关。仅与 JRE 问题相关。

          【讨论】:

            【解决方案10】:

            我在 Windows 7 上的 docear 程序遇到了同样的错误。

            我发现我的计算机上安装了两个 java 1.6 实例。一个实例有 jvm.cfg 而另一个没有。

            修改我的路径以搜索正确的 java 实例(粗体)首先解决了问题。

            这是我更正的路径:

            C:\Users\kranjit>路径 PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 \WindowsPowerShell\v1.0\;C:\Program Files (x86)\Enterprise Vault\EVClient\;C:\Program Files\Java\jre6\bin;C:\Program Files (x86) \Java\jre6\bin;

            【讨论】:

              【解决方案11】:

              在我们的系统中,“java(jre)”用于运行时目的,所以如果您安装任何不同版本的 java,可能是已经安装的版本之前的版本。

              例如;我的 windows 8.1 我有运行时 java 版本 8,然后当我安装 Ver7 时,它默认采用 V8,但我卸载了 8,在这种情况下,从 c:\windows\system32 中删除 java.exe 使我的 java 运行时工作

              【讨论】:

                【解决方案12】:

                对于任何仍然有问题的人,我这样做可能不是最好的解决方法,但它对我有用..

                我卸载了我当前安装的所有Java,重新安装了最新的并将安装目录更改为C:/Windows/jre(基本上它一直说没有配置文件)

                【讨论】:

                  【解决方案13】:

                  如果您安装了多个 jdk 版本,请卸载其他版本并只保留一个正在使用的版本。这对我有用。 https://www.java.com/en/download/help/uninstall_java.xml

                  【讨论】:

                    【解决方案14】:

                    我想在这里添加一些指针。

                    每当您遇到Could not open jvm.cfg 的错误时,这意味着java installation path 发生了一些混乱。以下方法可能会有所帮助。

                    1. 如果在环境路径中添加了 java,则打开命令提示符并键入 where java。如果您获得指定 java 路径的目录列表。除了需要java文件的目录,删除其他目录下的java文件。

                    2. 如果您正在读取第二个指针,那么第一个指针可能没有帮助。在运行对话框中输入regedit,在HKEY_LOCAL_MACHINE下,转到softwares/javasoft并重命名java安装目录的路径。

                    如果上述方法能解决问题,请告诉我。

                    【讨论】:

                      【解决方案15】:
                      • 简单的解决方案就是将uninstall javaSEreinstall 放到默认位置。

                      • 然后复制安装位置大概像C:\Program Files\Java\jdk1.8.0_131\bin

                      • 然后转到桌面然后在选择My Pc or This pc shortcut的同时右击选择properties &gt;&gt; Advanced system settings &gt;&gt; under Advance tab &gt;&gt; last option Environment Variables..&gt;&gt;path &gt;&gt; edit &gt;&gt; past &gt;&gt; ;(win10不需要)/(windows 7需要)

                      【讨论】:

                        【解决方案16】:

                        我在安装 201 时遇到了这个问题,不知何故它没有正确卸载我的 191。我必须去 Program Files/Java 文件夹,重命名旧的 201 目录,然后安装 201 的新副本。这样做时,它提示我卸载 191,我照做了。现在它工作正常。

                        【讨论】:

                          【解决方案17】:

                          我在升级我的 java 版本后遇到了同样的问题。我安装了多个 jdk。我已经手动卸载了旧的 jdk 版本。然后它对我有用。

                          【讨论】:

                            【解决方案18】:

                            已解决

                            我有类似的问题,我尝试了不同的方法,但没有任何效果。然后当我检查已安装的程序时。我可以看到安装了两个版本的 java。

                            我所做的是,只需卸载所有 java 版本并重新安装所需的版本。但是当我在终端签入时,这似乎不起作用。然后我不得不重新打开终端并运行命令,然后它才起作用。

                            注意:如果您通过终端进行测试,请不要忘记重新打开终端。

                            【讨论】:

                              【解决方案19】:

                              从另一台 PC 复制和粘贴 i386\jvm.cfg 将解决此问题。

                              【讨论】:

                              • 这不清楚。有多个 i386 目录,它是 64 位 JRE 中的 amd64。 64 位 (x64) 上的目录是 lib/amd64/jvm.cfg(JDK 中的 jre/lib/amd64/jvm.cfg)和 32 位(x86) 是 lib/i386/jvm.cfg(JDK 中的 jre/lib/i386/jvm.cfg)。
                              • 如果路径是错误,随机复制一个配置文件绝不是一个好主意,我从 hard 学到了这一点经验。
                              【解决方案20】:

                              我遇到了同样的问题。我刚刚卸载了 Java 并再次重新安装,之后它工作正常。该问题与 JRE 有关,因此您只需重新安装 JRE。

                              【讨论】:

                                【解决方案21】:

                                我遇到了同样的问题 - 当我尝试从命令行运行 Java 程序时出现错误消息:“错误:无法打开 jvm.cfg”。 我的 Path 环境变量包括以下路径:

                                C:\ProgramData\Oracle\Java\javapath 
                                

                                文件夹中有3个exe文件:

                                java.exe
                                javaw.exe
                                javaws.exe
                                

                                当我删除条目时

                                C:\ProgramData\Oracle\Java\javapath
                                

                                从 Path 环境变量并重新启动 cmd,我可以像往常一样运行程序(java MyProg)。 显然我已经破坏了指向正确 java jre 安装的路径

                                C:\Program Files\Java\jre1.8.0_151

                                以前我玩过我的设置时不知何故。

                                【讨论】:

                                  【解决方案22】:

                                  表示没有找到这个jvm.cfg 文件。也许它被删除了。 Reinstall 程序。如果您在游戏中遇到此问题,例如,reinstall Java 在游戏文件夹中,或复制 Java 文件 .de c:/Program Files/JAVA 并粘贴到游戏文件夹中的JAVA 文件夹中

                                  【讨论】:

                                    猜你喜欢
                                    • 1970-01-01
                                    • 2020-03-28
                                    • 1970-01-01
                                    • 2015-01-20
                                    • 2015-06-21
                                    • 2011-11-06
                                    • 2013-04-14
                                    • 2015-03-23
                                    • 1970-01-01
                                    相关资源
                                    最近更新 更多