java_home是jdk的安装目录
j2ee_home是j2ee sdk的安装目录
classpath是java库的搜寻路径
cpath不知道,没听过
除了classpath外其他的好象不常用
:)

解决方案 »

  1.   

    谢谢,那什么时候才需要设 java_home classpath里面不是已指定 jdk的安装目录了吗,干吗还要 java_home
      

  2.   

    java_home是jdk的安装目录
    classpath是java库的搜寻路径
    这就够了
      

  3.   

    java_home的设置是为了一些java应用程序可以找到java运行环境即jre,如tomcat!
    由于jre中的rt.jar包提供java基础核心类库!
      

  4.   

    classpath里面不是已指定 jdk的安装目录了吗,
    ___________________________________________wrong!
      

  5.   

    JAVA_HOME是给那些不太智能的JAVA应用用的,因为你在安装JDK时虽然指定了路径,但你在后来在装其它的基于JDK的JAVA应用时它却不一定能够找的着(现在这种笨应用也不多见了哟,所以现在JAVA_HOME基本不用)。
    J2EE_HOME也同理了,但它的指定却要比JAVA_HOME的指定重要的多,大多数时候你在装了J2EE后是要指定J2EE_HOME的。
    至于CLASSPATH是最最长用的了,在这里你除了要指定最最基本的两个包:dt.jar、tools.jar外,其它的要看你的应用用到哪些扩展包,都把它们加在这儿。
      

  6.   

    我发这个帖子的原因:是这样的,在用tomcat时 要先配JAVA_HOME ,我有一次没有先配JAVA_HOME ,结果先找的是
    jbuilder 里的jdk,后来先配JAVA_HOME ,再安装tomcat时 它,就能找到我想让它用的那个jdk了。(我不想让它用jbuilder的jdk)。后来,我安装 robocode 时 ,不知为什么,robocode自己
    找的 是jbuilder里的jdk(我装的是j9)此时java_home等相关的环境变量已经设置好了。我没有在classpath,javahome 里进行任何关于jbuilder9 的jdk 路径的设置甚至 path里也看不到jbuilder9的jdk,相反我在classpath,javahome里 设定了自己的jdk的路径,但是robocode找到的还是 jbuilder9的jdk。我想肯定和注册表有关吧!    
    因为小弟是一个java的初学者,所以很多基本的东西还是不太清楚。所以发贴问问大家。但我看到的回答基本上自己是知道的,可能是我没有说清楚吧。下面我自己说一说自己的看法,望大家指正。 JAVA_HOME J2EE_HOME 是设置给相关的软件用来发现jdk用的,相关的软件里有相关的配置文件
    指定名字为JAVA_HOME或J2EE_HOME的环境变量是标识jdk路径的参数。我们有可能 通过修改相关的配置文件,可以用来改变发现jdk的环境变量,比如我们可以在相关的配置文件中设定csdn_friends(代替java_home)为发现jdk的环境变量,那么我们只要设定一个csdn_friends的环境变量并设置好自己的jdk的路径那么安装该软件时它会自动的发现我们相让它用的那个jdk了。J2EE_HOME 与此相同。 classpath是用来给编译器来定位类文件用的,与安装软件时安装程序对jdk的查找无关,当然
     我们可以用%java_home% 来省点事。 概括的说 classpath与java_home 是不相关的,是用于不同对象的,前者对应的是编译器,后者对应的是 安装程序对jdk的查找。 
      
      如有错希望大家指出。  但我还有个问题一直没有弄清楚,就是有些比如tomcat,如果你的机子里装了jbuilder后,不设置java_home它也能找的jdk,可能通过注册表吧--因为我在各个环境变量里也没有看到jbuilder的jdk。   而有一些比如robocode 即使设了java_home 它也不管,还是用的jbuider的jdk。
    我想可能是有些软件是先看有没有java_home,如果没有 再看注册表,而有些先看注册表,再--
    不知大家对此地看法是?
       先谢谢大家!