JAVA高手请进,关于命令“JAVA”编译器错误的问题

我第一次用JAVA,用JAVAC命令没有问题,可以看到一大堆的参数,于是自己按照教程做了一个简单的HELLO.JAVA程序,并成功编译成了HELLO.class。可是在输入命令“JAVA HELLO”时却发生以下错误信息:

Error occurred during initialization of VM
java.lang.ClassNotFoundException: error in opening JAR file <invalid CEN header (bad signature)> D:\Program Files\Java\jre6\lib\rt.jar
at java.nio.charset.Charset.probeExtendedProvider(Unknown Source)
at java.nio.charset.Charset.lookupExtendedCharset(Unknown Source)
at java.nio.charset.Charset.lookup2(Unknown Source)
at java.nio.charset.Charset.lookup(Unknown Source)
at java.nio.charset.Charset.isSupported(Unknown Source)
at java.lang.System.initProperties(Native Method)
at java.lang.System.initializeSystemClass(Unknown Source)

我的JDK是在C:\Program Files\Java\jdk1.6.0_10,
JRE在D:\Program Files\Java\jre6
还有一个目录是安装目录:D:\Program Files\Sun\JavaDB

我的JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
PATH=%JAVA_HOME%\bin;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib
都是按照教程照设置的,其他都没问题,就是在用 “JAVA HELLO”时不能编译出现以下问题。请问应该怎样解决?

第1个回答  2008-11-17
1、java.lang.ClassNotFoundException---这是关键,找不到类文件异常;
2、首先你要明白谁负责解释.class文件?是jre的bin 和lib,你看你的path路径和classpath路径,是不是少了jre的这两个文件;
3、写成这样的配置:
PATH=%JAVA_HOME%\bin; D:\Program Files\Java\jre6 \bin;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
4、jdk下面也有一个jre目录,这个基本是负责解释jdk的工具的,因为jdk大多数的工具也是java开发的,还有安装时最好把jdk和jre放在同一个目录下,好的习惯。
第2个回答  推荐于2018-04-05
ClassNotFoundException: error in opening JAR file <invalid CEN header (bad signature)> D:\Program Files\Java\jre6\lib\rt.jar
找不到D:\Program Files\Java\jre6\lib\rt.jar 文件,重新安装一下吧!本回答被提问者和网友采纳
第3个回答  2008-11-18
你的变量配置的问题,
classpath
.;E:\Program Files\Java\jdk1.6.0_10\lib\dt.jar;E:\Program Files\Java\jdk1.6.0_10\lib\tools.jar
JAVA_HOME
E:\Program Files\Java\jdk1.6.0_10
PATH
;E:\Program Files\Java\jdk1.6.0_10\bin
你看看吧`
第4个回答  2008-11-17
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
第5个回答  2008-11-18
估计是JDK 1.6的版本不太稳定,或是你的JDK安装文件有损坏,建议换个 1.5的试一下
相似回答