黑马程序员技术交流社区

标题: 只设置PATH,不设javaHOME和CLASS,会出现哪些不好? [打印本页]

作者: 飞舞❤心动    时间: 2012-6-10 11:21
标题: 只设置PATH,不设javaHOME和CLASS,会出现哪些不好?
我看早期的JAVA程序员,他们也只设定PATH啊,没有设定javaHOME和PATHCLASS啊,如果没有设定会怎么样,我非常想知道!
作者: 张洁    时间: 2012-6-10 11:29
各有作用滴~
以下为置JAVA_HOME,CLASSPATH,PATH的目的:
1,设置JAVA_HOME:
一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.

2,设置CLASSPATH:
这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!

3,设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)
作者: 邵阳    时间: 2012-6-10 13:14
本帖最后由 邵阳 于 2012-6-10 13:30 编辑

一、这个环境变量在path中改也行,或者建一个Java_Home都可以。
那么为啥要建一个Java_Home里,主要是因为path里面原来就已经配置了别的变量,
如果在path中更改,一旦bin文件夹的位置发生变化,则必然去path中更改,
而经常在path中更改,容易修改别的程序的环境变量,导致某些程序不能运行,
或者电脑出现故障。
而重新定义一个Java_Home,只需要在这个里面修改数据,而不需要在path中修改,
从而避免了更改path中的其他程序变量。
二、应该是  classpath。   这个也可以使用也可以不使用。使用classpath会是操作更便捷。
设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。
而不需要找到每个类或者包文件所在的文件夹,比较麻烦



作者: 王杰    时间: 2012-6-10 15:05
设置JAVA_HOME便于以后修改jdk的目录,不用每次都直接操作path,以免误删;
设置classpath的主要作用在你用到包的时候就知道。
还有视频上毕老师讲的很好,看一遍就会了。
作者: 飞舞❤心动    时间: 2012-6-10 16:39
张洁 发表于 2012-6-10 11:29
各有作用滴~
以下为置JAVA_HOME,CLASSPATH,PATH的目的:
1,设置JAVA_HOME:

谢谢了,讲的很详细!偶,明白了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2