黑马程序员技术交流社区

标题: JDK环境变量的配置 [打印本页]

作者: 沙漠里的小鱼    时间: 2013-12-1 19:50
标题: JDK环境变量的配置
我按照网上的方法先配置了一个JAVA_HOME 然后又配置了Path路径  没有配置CLASSPATH路径啊  然后我在CMD执行JAVA -VERSION  也能成功啊
怎么网上要配置CLASSPATH路径啊


我只配置了前两部 好像也没啥问题啊  不知道第三部是不是必须配置啊 就是那个CLASSPATH  配置第三部有什么作用啊

作者: love~陌    时间: 2013-12-1 20:01
必须配置!前两步设置是让你更加方便调用java和javac两个命令。第三步的设置是针对于咱们所用到的代码文件的调用路径,我们不可能每次打开DOS窗口的时候都去setpath=****设置路径,比如setpath=E:\code(这个是我自己的安装目录,只是举个例子)
作者: 25343215    时间: 2013-12-1 20:38
以下为置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变量目录里查找相应的应用程序, 并且执行.)

作者: 沙漠里的小鱼    时间: 2013-12-1 22:16
love~陌 发表于 2013-12-1 20:01
必须配置!前两步设置是让你更加方便调用java和javac两个命令。第三步的设置是针对于咱们所用到的代码文件 ...

那我不配置有关系吗  我就配置前两步  然后下载个ECLIPSE  可以吗
作者: 沙漠里的小鱼    时间: 2013-12-1 22:16
25343215 发表于 2013-12-1 20:38
以下为置JAVA_HOME,CLASSPATH,PATH的目的:
1,设置JAVA_HOME:
一、为了方便引用,比如,你JDK安装在C:\Pro ...

那我不配置有关系吗  我就配置前两步  然后下载个ECLIPSE  可以吗
作者: yjgoss    时间: 2013-12-2 12:43
  配置PATH是为了我们更方便的在DOS命令行里使用JAVAC,JAVA,而配置CLASS PATH是为了我们更方便的找到我们要编译的文件,你要是不配置CLAAS PATH ,那么你每一次编译的件的话,都得进入你所编译的文件夹里面,所以比较麻烦,其实这两个配置都是为了我们做软件方便用的,我也是刚学的,希望对你有帮助,嘿嘿
作者: love~陌    时间: 2013-12-2 14:09
沙漠里的小鱼 发表于 2013-12-1 22:16
那我不配置有关系吗  我就配置前两步  然后下载个ECLIPSE  可以吗

这个我就不清楚了,因为我现阶段处于EditPlus使用阶段,苦苦追寻毕老师的脚步ing,对于eclipse是一窍不通
作者: 落木萧萧    时间: 2013-12-2 14:10
黑马帝了还问环境变量的问题……
其实我是来骗金币的
作者: 25343215    时间: 2013-12-2 14:16
沙漠里的小鱼 发表于 2013-12-1 22:16
那我不配置有关系吗  我就配置前两步  然后下载个ECLIPSE  可以吗

我刚才把ClassPath删除了,然后eclipse还能正常使用。。

关于这三个Java变量的设置,楼主有没有比较全面的答案啊。。。我想听听。不知道方不方便
作者: ily521125    时间: 2013-12-2 14:52
配置path环境变量是为了能在在任何路径下使用java命令和javac命令,配置classpath环境变量是为了能够在任何路径下运行java程序,而不必到java程序所在目录去运行它,这都是为了方便,你也可以不配置,直接到该程序目录下打开cmd窗口运行程序,不过最好还是配置一下,这样用起来也方便
作者: 不抛弃不放弃    时间: 2013-12-2 15:03
你要用eclipse  给eclipse配置一下jdk  就可以用了
作者: 绕世界流浪丶    时间: 2013-12-2 21:17
classpath不设置也可以,他只是方便系统查找class文件
作者: 沙漠里的小鱼    时间: 2013-12-2 21:32
不抛弃不放弃 发表于 2013-12-2 15:03
你要用eclipse  给eclipse配置一下jdk  就可以用了

怎么在ECLIPSE配置啊  我如果ECLIPSE啥都不配置 可以吗
作者: 沙漠里的小鱼    时间: 2013-12-2 21:32
ily521125 发表于 2013-12-2 14:52
配置path环境变量是为了能在在任何路径下使用java命令和javac命令,配置classpath环境变量是为了能够在任何 ...

我知道  如果我没有配置CLASSPATH  直接用ECLIPSE可以吗
作者: 沙漠里的小鱼    时间: 2013-12-2 21:33
25343215 发表于 2013-12-2 14:16
我刚才把ClassPath删除了,然后eclipse还能正常使用。。

关于这三个Java变量的设置,楼主有没有比较全面 ...

是啊  我也是的 第三个没配置 直接用ECLIPSE 也没问题呢  我也想知道到底CLASSPATH 要不要配置呢
作者: 不抛弃不放弃    时间: 2013-12-2 22:19
沙漠里的小鱼 发表于 2013-12-2 21:32
怎么在ECLIPSE配置啊  我如果ECLIPSE啥都不配置 可以吗

eclipse什么都不配置 不行   就配置一个jdk    不会配置的话  百度下 一大片
作者: ily521125    时间: 2013-12-2 23:12
沙漠里的小鱼 发表于 2013-12-2 21:32
我知道  如果我没有配置CLASSPATH  直接用ECLIPSE可以吗


eclipse是自带有java虚拟机的,就算你没有安装jdk,一样可以用eclipse的,但是不能用命令行的形式运行java程序,如果安装了jdk,也安装了eclipse,可以在eclipse设置是使用自己安装的jdk,还是使用eclipse自带的虚拟机,如果使用自己安装的jdk就要配置环境变量了
作者: 沙漠里的小鱼    时间: 2013-12-3 20:42
不抛弃不放弃 发表于 2013-12-2 22:19
eclipse什么都不配置 不行   就配置一个jdk    不会配置的话  百度下 一大片

不是 我的意思是说不配置CLASSPATH   然后用ECLIPSE  可以吗
作者: 沙漠里的小鱼    时间: 2013-12-3 20:43
ily521125 发表于 2013-12-2 23:12
eclipse是自带有java虚拟机的,就算你没有安装jdk,一样可以用eclipse的,但是不能用命令行的形式运行jav ...


我的意思是所配置JAVA_HOME  然后配置Path  不配置CLASSPATH  直接用ECLIPSE 行吗
作者: ily521125    时间: 2013-12-3 22:27
沙漠里的小鱼 发表于 2013-12-3 20:43
我的意思是所配置JAVA_HOME  然后配置Path  不配置CLASSPATH  直接用ECLIPSE 行吗

配置JAVA_HOME不就是就是添加到path中么,不配置classpath一样可以用
作者: 几番意难相付    时间: 2013-12-4 09:37
如果你始终在java源文件所在的目录下 编译运行 那ClASSPATH设置不设置都没所谓的
如果你在不同的目录下运行 class文件 就需要配置了
eclipse就完全不需要
作者: ❦_H_t    时间: 2013-12-4 10:41
eclipse完全不需要设置
java文件所在的目录下编译运行 ClASSPATH可以不设置
作者: 天ya~_琼楼    时间: 2013-12-4 11:45
classpath不用配置,eclipse也可以使用,不过你始终在java源文件所在的目录下编译运行,别人给你传的class文件也得进入目录才能运行,这样比较麻烦
作者: zhkqy    时间: 2013-12-4 16:00
设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

作者: 简★零度    时间: 2013-12-5 22:55
下次问题解决了就把类型改成提问结束!谢谢!
作者: 沙漠里的小鱼    时间: 2013-12-7 00:02
简★零度 发表于 2013-12-5 22:55
下次问题解决了就把类型改成提问结束!谢谢!

没解决啊 还不知道怎么配置ClassPATH呢
作者: 简★零度    时间: 2013-12-7 00:40
好吧!那你继续提问!
作者: 沙漠里的小鱼    时间: 2013-12-8 01:07
简★零度 发表于 2013-12-7 00:40
好吧!那你继续提问!

那CLASSPATH 怎么配置啊




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