java报错:Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object

今天打开 idea 的时候发现加载不出来 JAVA,然后在 doc 下运行 java -version 时,报如下错误:

Error occurred during initialization of VM 
java/lang/NoClassDefFoundError: java/lang/Object

查看了一下 JAVA 的环境变量,配置的没问题,所以就不知道哪出了问题。。。
查了些资料,大致总结就是 3 点:
1、 JAVA 环境变量的问题
查看 JAVA_HOME 和 Path 的配置(CLASS_PATH 可配可不配)
JAVA_HOME:jdk 安装目录, 如 C:\Program Files\Java\jdk1.8.0_192
Path: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
CLASS_PATH: %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

2、 如果环境变量没问题的话,那就到 JDK 安装目录下(如C:\Program Files\Java\jdk1.8.0_192)找 lib 目录下的 tools.jarjre\lib 目录下的 rt.jar,看是否有这两个 jar 包,有可能你只能找到 rt.packtools.pack 这两个文件,但是不要慌,这时可以使用 bin 里面的 unpack200 工具将相应文件解压成 rt.jar 和 tools.jar 就可以了。

cd C:\Program Files\Java\jdk1.8.0_192
unpack200 tools.pack tools.jar
cd ..\jre\lib
..\..\unpack200 rt.pack rt.jar

3、第三种情况就是,在 lib 目录下的没找到 tools.jar 或在 jre\lib 目录下没找到 rt.jar,或者lib 或 jre\lib(40个文件)下面的文件有缺失,这时候从别处复制过来就可以了。
如果复制 tools.jar 或 rt.jar 之后运行 java 命令出现乱码,这时可能是 jre\lib 下面的文件有缺失仔细寻找或者直接复制一整个 jre\lib,可以解决。
如果觉得找的麻烦的话,那么我们可以把之前安装的 JAVA 卸载,然后在重新安装。

你可能感兴趣的:(JAVA,java,jvm,开发语言)