问题1:
classpath 一般这么设:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar我不明白的是:%JAVA_HOME%\lib 已经包含tools.jar和dt.jar文件,为什么还要单独加%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar这两个路径呢?有人说的原因是这样: 原因:   
 jar是打包的,对java来说,包就相当于一个文件夹(文件夹名称就是.jar的文件名),文件夹下面才是类。  所以只指定%JAVA_HOME%\lib的话,要把tools.jar和dt.jar解包,把里面的class文件放在%JAVA_HOME%\lib下。以上的说法是否正确?我没法测试的原因是我把classpath 置为空了,cmd里java hello照样正确,见鬼了!问题2:
classpath必须还要指定%JAVA_HOME%\jre\lib这个目录吗?或是这个目录的jar文件?问题3:是不是用户变量的classpath和系统变量的classpath不能兼容?我装了其它软件,这个软件在用户变量的classpath建了一个值,然后java就不能正常用,把这个用户变量classpath删掉又可以了。

解决方案 »

  1.   

    去老紫竹的Blog里去看看吧,他那儿有详细到不能再详细的,图文并茂的步骤了。
      

  2.   

    个人理解呀,CLASSPATH的定义一定要为\lib\dt.jar可,是由于它不是systems的系统变量,他是自行加入的变量,如果要systems找到这个参数的存在,必须指引出包的具体位置,而不能含糊的说,是什么路径下的,这些包下的!
      

  3.   

    1、你删除了classpath后Hello world还能跑是因为你的hello world不需要classpath中的类.
    2、需要
    3、用户classpath和系统classpath本来就是两个设置,何来兼容不兼容?
      

  4.   

    jdk1.6已经不需要设置classpath路径,只需设置path路径即可
      

  5.   

    http://blog.chinaunix.net/u/21684/showart_195064.html
      

  6.   

    用户变量的classpath和系统变量的classpath谁的优先级高?
      

  7.   

    使用鼠标右击“我的电脑”->属性->高级->环境变量 
    系统变量->新建->变量名:JAVA_HOME 变量值:c:\j2sdk1.4.1 
    系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib 
    系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin; 
    (CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思) path直接修改原来的,不要新建。 
    回答者:definen10 - 助理 三级    7-4 17:26
    先比如你的JDK安装在C:\j2sdk1.4.1下,那么按照以下步骤配置即可。 
    1)使用鼠标右击“我的电脑”->属性->高级->环境变量; 
    2)系统变量->新建->变量名:JAVA_HOME, 变量值:c:\j2sdk1.4.1; 
    3)系统变量->新建->变量名:CLASSPATH, 变量值:.;%JAVA_HOME%\lib (注意那个".",一定要写); 
    4)系统变量->编辑->变量名:Path,在变量值的最前面加上:%JAVA_HOME%\bin; (一定要加在path值的最前面)。 
    回答者:programmar - 千总 四级  7-4 17:40
    基本上只用配置PATH...PATH不用去新建一个,改原来的 如果你的程序要用到一些非JDK的包,就要把这些包的路径放在CLASSPATH中 JAVA_HOME也可以不配置...这个主要是你配置CLASSPATH时如果想使用%JAVA_HOME
    变量名:JAVA_HOME 
    变量值:C:\Program Files\Java\j2sdk1.5.0 变量名:Path 
    变量值:C:\Program Files\Java\j2sdk1.5.0\bin 变量名:CLASSPATH 
    变量值:.;C:\Program Files\Java\j2sdk1.5.0\lib\tools.jar;C:\Program Files\Java\j2sdk1.5.0\lib\dt.jar 
    注意最后一个变量值前面的.是不能少的
    使用鼠标右击“我的电脑”->属性->高级->环境变量 
    系统变量->新建->变量名:JAVA_HOME 变量值:c:\j2sdk1.4.1 
    系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib 
    系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin; 
    (CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思) path直接修改原来的,不要新建。 
    回答者:definen10 - 助理 三级    7-4 17:26
    先比如你的JDK安装在C:\j2sdk1.4.1下,那么按照以下步骤配置即可。 
    1)使用鼠标右击“我的电脑”->属性->高级->环境变量; 
    2)系统变量->新建->变量名:JAVA_HOME, 变量值:c:\j2sdk1.4.1; 
    3)系统变量->新建->变量名:CLASSPATH, 变量值:.;%JAVA_HOME%\lib (注意那个".",一定要写); 
    4)系统变量->编辑->变量名:Path,在变量值的最前面加上:%JAVA_HOME%\bin; (一定要加在path值的最前面)。 
    回答者:programmar - 千总 四级  7-4 17:40
    基本上只用配置PATH...PATH不用去新建一个,改原来的 如果你的程序要用到一些非JDK的包,就要把这些包的路径放在CLASSPATH中 JAVA_HOME也可以不配置...这个主要是你配置CLASSPATH时如果想使用%JAVA_HOME
    变量名:JAVA_HOME 
    变量值:C:\Program Files\Java\j2sdk1.5.0 变量名:Path 
    变量值:C:\Program Files\Java\j2sdk1.5.0\bin 变量名:CLASSPATH 
    变量值:.;C:\Program Files\Java\j2sdk1.5.0\lib\tools.jar;C:\Program Files\Java\j2sdk1.5.0\lib\dt.jar 
    注意最后一个变量值前面的.是不能少的