先看第一种和第三种,差别只是第一种多了个classpath加入C:\j2sdk1.4.1_04\lib\tools.jar; C:\j2sdk1.4.1_04\lib\dt.jar,而你的HELLOWORLD.JAVA肯定没有用到tools.jar和dt.jar两个包中的类,所以这两种方法是一样的.而第二种里的PATH实际上也就是C:\j2sdk1.4.1_04\bin,所以和第三种其实是一样的,只是写法上用了;%JAVA_HOME%

解决方案 »

  1.   

    to jgsfy(阿庙) 
    第二种和第三种的classpath路径一个设到了\LIB 令一个设到了lib\tooLs.jar 和dt.jar 两者有何区别?另外.JAR 文件是什么意思,装的是什么东西
    谢谢解答
      

  2.   

    .JAR 文件是java程序里所用到的包!
      

  3.   

    classpath路径一个设到了\LIB 表示\LIB下的所有包啊, .JAR就是JAVA中的包文件
    令一个设到了lib\tooLs.jar 和dt.jar 直接指向了你可能会用到的两个包名
      

  4.   

    to jgsfy(阿庙) 谢谢你的回答:我还有一个相关的问题如下,想请教你,谢谢
    在配置了环境变量
    path:  I:\j2sdk1.4.2_03\bin;
    classpath:  .;I:\j2sdk1.4.2_03\lib\tools.jar;I:\j2sdk1.4.2_03\lib\dt.jar;
    之后,在javatest 文件夹下写了一个HelloWorld的小程序,在dos提示符下:
    I:\ >javac  I:\javatest\HelloWorld.javaI:\ >java   I:\javatest\HelloWorld
    出错如下:
    Exception in thread "main" java.lang.NoClassDefFoundError:而如果在
    I:\javatest> javac HelloWorld.javaI:\javatest> java HelloWorld
    HelloWorld !
    能够输出正确的结果,不知为何?请执教
    想让出错的程序能够正常运行应该如何作?我也知道第二种方法好用,我就是想知道为什么,谢谢!
      

  5.   

    I:\ >javac  I:\javatest\HelloWorld.java
    I:\ >java   I:\javatest\HelloWorld
    这种情况下系统不会到你的绝对路径下去找.java文件,而你在
    I:\javatest> javac HelloWorld.javaI:\javatest> java HelloWorld
    HelloWorld !
    里面,因为当前目录已经在javatest包里面了,所以虚拟机会正确读出这个包里的helloworld.class文件这和你的path:  I:\j2sdk1.4.2_03\bin是有关的,因为你这就是设定JAVA虚拟机的路径,以后你无论在任何目录下运行java test.java文件,系统都会到path:  I:\j2sdk1.4.2_03\bin下去找这个java.exe文件的.