JAVA_HOME => D:\Progra~1\j2sdk1.4.2_15
CLASSPATH => D:\Progra~1\j2sdk1.4.2_15\lib\tools.jar;D:\Progra~1\j2sdk1.4.2_15\lib\dt.jar;.path => ...;D:\Progra~1\j2sdk1.4.2_15\bin;...(省略其他)jdk被安装在了D:\Progra~1\j2sdk1.4.2_15下面D:\Progra~1\j2sdk1.4.2_15\lib\tools.jar和D:\Progra~1\j2sdk1.4.2_15\lib\dt.jar都存在。运行java命令可以出来正常的提示。
但是运行javac的时候却提示:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main请问这是什么原因?
CLASSPATH => D:\Progra~1\j2sdk1.4.2_15\lib\tools.jar;D:\Progra~1\j2sdk1.4.2_15\lib\dt.jar;.path => ...;D:\Progra~1\j2sdk1.4.2_15\bin;...(省略其他)jdk被安装在了D:\Progra~1\j2sdk1.4.2_15下面D:\Progra~1\j2sdk1.4.2_15\lib\tools.jar和D:\Progra~1\j2sdk1.4.2_15\lib\dt.jar都存在。运行java命令可以出来正常的提示。
但是运行javac的时候却提示:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main请问这是什么原因?
ClassPath中有你要编译的source的路径吗?如果没有,有当前路径.吗?你是在source路径下编译的还是在其他路径下编译的?
在桌面,右击“我的电脑”->“属性”->“高级”
在"系统变量"中,"新建 " (如果已经存在,则编辑)
变量名ClassPath
值(特别注意前面是一个点号,一个分号!!然后跟着tools.jar的路径,rt.jar的路径,然后是bin目录的路径,楼主看清楚点,你没有bin的路径,还有点分号的位置)
.;D:\j2sdk1.4.2_04\lib\tools.jar;D:\j2sdk1.4.2_04\jre\lib\rt.jar;D:\j2sdk1.4.2_04\bin;建一个"Path",值是jdk中bin的路径
D:\j2sdk1.4.2_04\bin;
内容如下:
package test;
class a{
public static void main(String[] args){ }
}D:\>javac test/a.java
输出:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
装了jdk1.4.2_15也不行
oracle10中也有java这个命令,所以有冲突
class a{
public static void main(String[] args){ }
}
===========================晕,class 前要加public,类的名字要大写,文件要保存为A.java
set classpath=.;
也不知道我 这样做是不是正确的。