运行Java给出“错误:无法打开”C:\ Program Files \ Java \ jre6 \ lib \ amd64 \ jvm.cfg“

经过多年的努力,我试图启动JVM时突然收到这条消息:

Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg' 

我试图卸载,并得到一个消息,说一个DLL丢失(未指定)尝试重新安装,都无济于事。

与此同时,当试图启动Scala时,我得到:

 \Java\jdk1.6.0_25\bin\java.exe was unexpected at this time. 

检查%JAVA_HOME%%path% – 都OK

谁能帮忙?

可能是一个稍微不同的原因,但是第二个问题出现在Win7(x64)上的scala 2.9.0.1中,虽然scala-2.9.1.final已经解决了这里提到的这个问题:

 \Java\jdk1.6.0_25\bin\java.exe was unexpected at this time. 

我的%JAVA_HOME%设置为这样的path: c:\program files (x86) \Java\jdk...

请注意空格和括号。

如果将%SCALA_HOME%\bin\scala.bat第24行更改为:

 if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD=%JAVA_HOME%\bin\java.exe 

 if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe" 

它工作正常。 注意set命令参数周围的引号,这将正确地包含variables值中的任何空格和“特殊”字符(例如:空格和括号)。

希望这可以帮助别人寻找答案。

我检查了我的环境variables – JAVA_HOME&PATH,它们都引用c:\ java。 所以这有点令人沮丧。 一段时间后,我发现默认安装还将java.exe,javaw.exe和javaws.exe复制到C:\ Windows \ System32(即卸载JRE没有顺利)。 我刚刚删除他们,瞧,我回到了正轨。 那个令人讨厌的错误不再出现。

这对我有用

所以,如果存在从system32中删除java.exe,javaw.exe和javaws.exe

把%JAVA_HOME%\ bin放在PATH的开头。

我有同样的问题:我有一个64位的Windows,当我在CMD控制台键入“java -version”我收到相同的错误消息。 尝试启动一个64位cmd(C:\ Windows \ SysWOW64 \ cmd.exe),你会看到,它在那里工作;)

如果这是之前的工作,这意味着PATH是不正确的了。

PATH变得太长而被截断时会发生这种情况。
所有的post(比如这个 )build议更新PATH ,你可以先在单独的DOS会话中testingPATH ,方法是设置一个最小path,然后看看java是否可以再次运行。


OP高地标记最后得出结论:

最后通过卸载java修复,从registry中删除对它的所有引用,然后重新安装。

害怕 ;)

我想我会分享我是如何解决相同的问题“错误无法打开lib \ amd64 \ jvm.cfg”。 我发现Java运行时Jre7缺lesslib下的amd64文件夹。 不过,我有1.7.0_25的JDK,它有jre文件夹,也有amd64。

我将jre7文件夹的原始内容移动到备份文件,并从1.7.0_25 \ jre复制所有内容。

现在我不再收到这个错误,并能够与场景构build器一起继续。

我的工作PC上的Java 7安装程序在修补程序被强制传给我们后发生故障,每次尝试运行Java程序时都会出现此错误。 不知何故,Java 7安装的整个“lib”子目录消失了! 可能与安装Java 6和Java 7有关 – “jre6”目录中仍然包含所有内容。

无论如何,我通过卸载Java 6和Java 7并重新安装Java 7来解决这个问题。但是,如果它所抱怨的文件实际上存在,那么您可能遇到了一些其他答案中描述的path问题。

突然出现同样的问题,从一天到另一个月食说

 Failed to load the JNI shared library "C:/JDK/bin/client/jvm.dll"`. 

试图在控制台上运行java之后

 Error: could not open `C:\WINDOWS\jre\lib\amd64\jvm.cfg' 

现在我刚刚删除了整个目录

 C:\WINDOWS\jre 

所有事情都再次奏效……我不知道这里有没有这个病毒,我希望它不是病毒

我有一个类似的问题(试图在Windows上启动一个Jenkins从属代理)在Windows 2008R2,Java 1.7.0_15上。 我有两种情况导致了这个问题,并且改变了它们:1)在一个unix兼容的path(从c:\ Program Files …更改为c:\ Software …)中安装Java; 我不认为这直接影响了这个线程中描述的问题,但注意到了这个变化; 2)不通过快捷方式运行Java。 它最初失败了一个快捷方式,但从直接可执行文件(C:\ Software \ Java … \ bin \ java)重新运行。

C:\ ProgramData \ Oracle \ Java \ javapath为我工作..,我收回了文件,并删除其中的文件。打开新的CMD提示,然后..testing,像魅力

重新安装Java没有帮助我。 但是把JAVA_HOMEvariables放在env-vars的开头。 在从jdk1.7.0_11升级到jdk1.7.0_13之后,问题被发现了

另一个解决方法是在Windows中使用短path:

  1. 使用cmd.exe打开Windows命令控制台
  2. 转到c:\
  3. 键入命令> dir program* /x
  4. 它应该显示为如下所示的短path: PROGRA~2
  5. 所以C:\PROGRA~2C:\Program Files (x86)
  6. 在你的JAVA_HOMEreplacepath: C:\PROGRA~2\Java\jre7

这应该在Windows 64环境中工作,因为它在win7 64位版本中为我工作。

我把java安装path从c:\Program Files (x86)\java更改为另一个文件夹,如c:\java\jdk1.7并相应地更新了%Java_HOME%和path值,它工作。

 %JAVA_HOME% = C:\java\JDK1.7 path-C:\java\JDK1.7\bin; 

我在Eclipse中遇到了同样的问题,我通过将JRE从64位更改为32位来解决这个问题

Window> Preferences> Java> Installed JREs> Add …> Next> Directory>select“C:\ Program Files(x86)\ Java \ jre1.8.0_65”而不是“C:\ Program Files \ Java \ jre1.8.0” _60"

更新你的java后,我有这个问题。 解决这个问题的最好方法就是到你的c:/ProgramFiles/Java文件夹。 在那里你会发现两个jre文件夹,一个是jre.your版本,另一个完全像jdk文件夹。 尝试删除jre.1.your版本文件夹。 你去了你的问题解决了。 希望这可能有帮助。 这对我有用。

通常这是因为升级JRE。

它将符号链接改为C:\ ProgramData \ Oracle \ Java \ javapath \

Intall JDK – 它会解决这个问题。

这不是在路上。 最后通过卸载java修复,从registry中删除对它的所有引用,然后重新安装。 没有比这更明智的了,但是又回来了。 感谢所有@Highland马克 – 你能告诉我从registry中删除引用的过程。 我想尽一切办法在这里提到,没有任何工作。