运行Java会出现"错误:无法打开`C:\ Program Files\Java\jre6\lib\amd64\jvm.cfg'"

Hig*_*ark 35 java scala

经过多年的工作,我在尝试启动JVM时突然收到此消息:

Error: could not open `C:\Program Files\Java\jre6\lib\amd64\jvm.cfg'
Run Code Online (Sandbox Code Playgroud)

我尝试卸载,并收到一条消息说DLL丢失(未指定)尝试重新安装,一切都无济于事.

同时,当我尝试启动Scala时,我得到:

\Java\jdk1.6.0_25\bin\java.exe was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)

经过%JAVA_HOME%%path%-都OK

有人可以帮忙吗?

Ful*_*eer 86

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

这适合我

因此,如果存在,请从System32中删除java.exe,javaw.exe和javaws.exe

  • 最奇怪的答案曾经有过,谢谢! (7认同)

小智 33

将%JAVA_HOME%\ bin放在PATH的开头.

  • 虽然我的PATH和JAVA_HOME没问题,但在Windows上遇到了同样的问题.将%JAVA_HOME%移动到PATH的开头解决了它.谢谢! (3认同)

Cli*_*ton 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.
Run Code Online (Sandbox Code Playgroud)

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

注意空格和括号.

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

if exist "%JAVA_HOME%\bin\java.exe" set _JAVACMD=%JAVA_HOME%\bin\java.exe
Run Code Online (Sandbox Code Playgroud)

if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
Run Code Online (Sandbox Code Playgroud)

它工作正常.请注意set命令参数周围的引号,这将在变量的值中正确包含任何空格和"特殊"字符(例如:空格和括号).

希望这有助于其他人寻找答案.


小智 8

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


Sud*_*tty 7

C:\ProgramData\Oracle\Java\javapath
Run Code Online (Sandbox Code Playgroud)

我备份了其中的文件并从那里删除了这些文件。然后我打开了一个新的 cmd 提示符,它就像一个魅力。


Eog*_*oud 6

我对这个问题有一个稍微不同的解决方案。我的 PATH 和 JAVA_HOME 指向 JDK12

C:\Program Files\Java
Run Code Online (Sandbox Code Playgroud)

但执行命令:

Java -version
Run Code Online (Sandbox Code Playgroud)

给出了错误:

Error: could not open `C:\ProgramFiles\Java\jre1.8.0_212\lib\amd64\jvm.cfg'
Run Code Online (Sandbox Code Playgroud)

我不得不在与 System32 不同的目录中删除一个包含可执行文件(Java.exe、javaw.exe 等)的文件夹,正如此处的其他答案和博客文章所建议的那样。相反,我发现问题在于在以下位置找到的可执行文件:

C:\Program Files\Common Files\Oracle 
Run Code Online (Sandbox Code Playgroud)

因为没有任何与 Java 相关的内容

C:\Windows\System32
Run Code Online (Sandbox Code Playgroud)

如果您遇到此问题并且 System32 中没有任何内容,请检查上面提到的这个“公共文件”目录中的 oracle 目录并将其删除。

之后,您的 PATH 引用应该可以正常工作!

  • 有时也检查路径“C:\Program Files (x86)\Common Files\Oracle\Java\javapath”,您可能安装了一些静默安装 Java 的程序。 (2认同)