快速解决方法:如果你很不耐烦,可以尝试以下方法(仅适用于Windows系统):
前往 C:\Windows\System32
目录并删除 java.exe
文件(或将其重命名为像 java.exe.old
这样的名称)。
从至少 1.6 版本开始,在 Windows 目录中不应该存在 java.exe
文件。如果存在该文件,这可能是某个程序留下来的。
更多阅读:
真的很惊讶一个2012年的问题竟然还没有被解决,而我在我的Win 7 32位操作系统上在2015年遇到了同样的问题!
那么发生了什么?
基本上一切都很正常,我下载了H2数据库,但当我尝试启动 H2 Console (Command Line)
时,我得到了以下错误信息:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
我发现了这个问题并且我能够证实相同的症状:
JAVA_HOME已正确设置:
echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26
java -version
执行失败,而java --fullversion
正常运行:
java -fullversion
java full version "1.6.0_45-b06"
解决方案:
进入 C:\Windows\System32
目录,删除(实际上我是重命名了)java.exe
文件!!!
现在,问题已经解决:
java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
并且 H2控制台(命令行)
也运行良好!
感谢本论坛上的最后一篇发帖:
https://bukkit.org/threads/java-lang-noclassdeffounderror-java-lang-object.70450/
JRE
时,JVM
需要的rt.jar
文件存在问题。 - Bhavik Ambani