今天饶有兴趣的在dos命令行下编译和运行java程序。程序代码很简单,如下面所以,保存为.java格式的文件.
public class Test{
public static void main(String[] args){
System.out.println("great");
}
}
然后在dos下编译该文件,木有问题,但执行的时候出现了以下的问题,如图所示:
然后我就试着在jdk安装目录下编译执行,木有问题,那问题就出在环境变量设计上了
我的jdk的安装路径是:D:\Java\jdk1.6.0_10
我的环境变量设置如下:
我的jdk安装路径是:D:\Java\jdk1.6.0_10
我的环境变量设置如下:class-path:D:\Java\jdk1.6.0_10\lib\tools.jar
path:D:\Java\jdk1.6.0_10\bin
这么看来我的环境变量设置没有问题,最后经过查的资料原来都是安装oracle带来的后遗症。原来我后来安了oracle,因为oracle自带一个jdk,而且这个jdk的版本比较低,1.4.2的,它在path里的路径写在了你以前安装jdk路径的前面,所以你执行的时候先找到了这个jdk执行的,所以导致了上面的问题。解决办法:将你安装的jdk的路径写到path最前面就可以了(就是将D:\Java\jdk1.6.0_10\bin写到path的最前面就可以了)。编译,执行一下吧,一切没问题了。呵呵呵呵
总结一句话:导致这个错误的根本原因就是使用了版本比较低的jdk