经过多年的努力工作,我在尝试启动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%
- 两者都好
有人可以帮忙吗?
答案 0 :(得分:80)
我检查了我的环境变量 - JAVA_HOME& PATH和它们都引用C:\ java。所以这有点令人沮丧。过了一段时间后,我发现默认安装还将java.exe,javaw.exe和javaws.exe复制到C:\ Windows \ System32(即卸载JRE并不顺利)。我刚刚删除它们,瞧,我又回到正轨。那个恼人的错误不再弹出。
这对我有用
因此,如果存在,请从System32中删除java.exe,javaw.exe和javaws.exe
答案 1 :(得分:30)
将%JAVA_HOME%\ bin放在PATH的开头。
答案 2 :(得分:16)
可能是一个稍微不同的原因,但第二个问题出现在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%
设置为这样的路径: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命令参数周围的引号,这将在变量的值中正确包含任何空格和“特殊”字符(例如:空格和括号)。
希望这有助于其他人寻找答案。
答案 3 :(得分:8)
我遇到了同样的问题:我有64位Windows,当我在CMD-Console中键入“java -version”时,我收到了相同的错误消息。 尝试启动64位cmd(C:\ Windows \ SysWOW64 \ cmd.exe),你会看到它在那里工作;)
答案 4 :(得分:2)
突然出现同样的问题,从一天到另一天的日食说了
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
一切都恢复了......我不知道这个jre来自哪里,我希望它不是病毒
答案 5 :(得分:2)
我对这个问题的解决方案略有不同。我的PATH和JAVA_HOME指向
中的JDK12C:\Program Files\Java
但执行命令:
Java -version
给出错误:
Error: could not open `C:\ProgramFiles\Java\jre1.8.0_212\lib\amd64\jvm.cfg'
我不得不在与System32不同的目录中删除可执行文件(Java.exe,javaw.exe等)的文件夹,如此处的其他答案和博客所建议的那样。相反,我发现该问题与以下位置的可执行文件有关:
C:\Program Files\Common Files\Oracle
因为
中没有与Java相关的内容C:\Windows\System32
如果遇到此问题,而System32中没有任何内容,请检查上面提到的此“公共文件”目录中的oracle目录,然后将其删除。
之后,您的PATH引用应该可以正常工作!
答案 6 :(得分:2)
如果之前有效,则表示PATH
不再正确。
当PATH
变得太长而被截断时,就会发生这种情况
所有帖子(如this one)都建议updating the PATH
,您可以先在单独的DOS会话中测试,方法是设置最小路径并查看java是否再次在那里工作。
最后OP Highland Mark得出结论:
可怕的;)最后通过卸载java修复,从注册表中删除对它的所有引用,然后重新安装。
答案 7 :(得分:2)
我的工作PC上的Java 7安装在一个补丁被强制发送给我们后破了,在你试图运行Java程序的任何时候都会出现这个错误。不知何故,Java 7安装的整个'lib'子目录都消失了!可能与安装Java 6和Java 7有关 - 'jre6'目录仍然包含所有内容。
在任何情况下,我通过卸载Java 6和Java 7并重新安装Java 7来修复它。但是如果它抱怨的文件实际上存在,那么你可能会遇到路径问题,如某些其他答案在这里。
答案 8 :(得分:2)
我想我会分享我如何解决同样的问题“错误无法打开lib \ amd64 \ jvm.cfg”。我发现Java运行时Jre7缺少lib下的amd64文件夹。但是,我有1.7.0_25 JDK,它有jre文件夹,也有amd64。
我将jre7文件夹的原始内容移动到备份文件并复制了1.7.0_25 \ jre中的所有内容。
现在我不再收到此错误,并且可以继续使用场景构建器。
答案 9 :(得分:1)
我在Windows 2008R2
,Java 1.7.0_15
我有两种情况导致了这个问题,改变这两种情况就解决了这个问题:
1)在Java
兼容路径中安装unix
(从c:\Program Files\... to c:\Software\...
更改);我认为这不会直接影响此线程中描述的问题,但会注意到更改;
2)不通过快捷方式运行Java
。它最初失败了,但是直接可执行文件(re-running
)中的C:\Software\Java...\bin\java
工作正常。
答案 10 :(得分:1)
我在 Eclipse 中遇到了同样的问题,我通过将 JRE 从64位更改为 32位来修复它:
窗口>偏好> Java>已安装的JRE>添加...>下一个>目录>选择“C:\ Program Files(x86)\ Java \ jre1.8.0_65”而不是“C:\ Program Files \ Java \ jre1.8.0_60”
答案 11 :(得分:1)
C:\ ProgramData \ Oracle \ Java \ javapath为我工作..,我已经备份了文件并删除了文件。打开了新的cmd提示然后..测试并且像魅力一样工作
答案 12 :(得分:0)
另一种解决方法是在Windows中使用短路径:
c:\
dir program* /x
PROGRA~2
C:\PROGRA~2
与C:\Program Files (x86)
JAVA_HOME
替换路径中:
C:\PROGRA~2\Java\jre7
这应该适用于Windows 64环境,因为它适用于win7 64位版本。
答案 13 :(得分:0)
我已将java安装路径从c:\Program Files (x86)\java
更改为另一个文件夹,例如c:\java\jdk1.7
,并相应地更新了%Java_HOME%
和路径值,这是有效的。
例如
%JAVA_HOME% = C:\java\JDK1.7
path-C:\java\JDK1.7\bin;
答案 14 :(得分:0)
更新你的java之后我遇到了这个问题。解决此问题的最佳方法是转到c:/ProgramFiles/Java
文件夹。在那里你会发现两个jre文件夹,一个是jre.your版本,另一个与jdk文件夹完全相同。尝试删除jre.1.your版本文件夹。你去了你的问题解决了。希望这可能有所帮助。它对我有用。
答案 15 :(得分:0)
通常是因为升级JRE。
它将符号链接更改为C:\ ProgramData \ Oracle \ Java \ javapath \
Intall JDK - 它将解决这个问题。
答案 16 :(得分:0)
FileKt
由于我正在使用更新jdk8 1.8.0_191,因为我在安装Java更新后发生了该问题,并且自动发生了此问题,因此出现了@post安装脚本的问题并不断传播。
connect
在这种情况下,这将永远不会结束,需要做一些解决方法,例如手动更改路径。
答案 17 :(得分:0)
重新安装java对我没有帮助。但是把JAVA_HOME变量放在env-vars开头的技巧。从jdk1.7.0_11升级到jdk1.7.0_13
后出现问题答案 18 :(得分:0)
删除system32下Windows的jar。 删除C:\ Program Files \ Common Files \ Oracle
下的jar将环境变量set JAVA_HOME和SET PATH设置为bin
答案 19 :(得分:-1)
它不在路上。最后通过卸载java修复,从注册表中删除对它的所有引用,然后重新安装。没有更聪明,但又恢复了工作。谢谢所有@Highland Mark-你能告诉我从注册表中删除引用的过程。我尝试了人们提到的所有可能的方式,没有任何效果。
答案 20 :(得分:-1)
如果您已下载了多个Jdk,则必须删除除要使用的JDK之外的所有内容!