运行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:
- 使用cmd.exe打开Windows命令控制台
- 转到
c:\
- 键入命令>
dir program* /x
- 它应该显示为如下所示的短path:
PROGRA~2
- 所以
C:\PROGRA~2
与C:\Program Files (x86)
- 在你的
JAVA_HOME
replacepath: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中删除引用的过程。 我想尽一切办法在这里提到,没有任何工作。