回 帖 发 新 帖 刷新版面

主题:[原创]不希望以后还有关于环境变量的问题——环境变量的设置图解(新手请进)

[color=0000FF]呵呵  各位学友好~~[/color]
在论坛待了半年多了   谢谢各位老鸟的指导使我基本有了JAVA的基础
想想自己刚开始学JAVA的时候 也确实挺辛苦的  在这里感谢《程序爱好者》论坛提供给我们这样的学习交流的机会~~~再次致谢~~~
但是现在在中国JAVA发展还不够成熟,有很多新人刚开始学JAVA的时候都不知道环境变量和当前目录是什么,在这里我代表斑竹兄具体讨论一下[color=008080]环境变量和当前目录[/color]的问题,希望对各位新手步入JAVA之门有点帮助~~~~(纯粹摆白的个[em12])


[color=FF00FF]一、关于环境变量[/color]
[color=FF0000]1、JAVA需要什么样的环境变量,这些环境变量有什么作用?[/color]
    JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C:\WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:\WINNT目录下的NOTEPAD.EXE这个可执行文件移开(比如说我们现在把它“剪切”到D盘根目录下)我们再在DOS提示符下直接输入NOTEPAD时就无法再打开记事本了,但是我们在DOS下改变路径输入D:\NOTEPAD(或者先输入cd D: 在输入NOTEPAD也行)就可以打开记事本了。这就是说在我们直接输入NOTEPAD的时候,其实其默认路径就是C:\WINN。[color=C0C0C0]假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下[/color]  然后打开DOS,把路径改到JAVA的BIN目录下 执行java hello.class,一次无所谓 但是每次都要这样去做未免太麻烦。还好WINDOWS提供了一个PATH环境变量,他的作用就是现在这个变量的值路径中去找,如果找到了要运行的EXE就运行,否则失败。如果我们把JAVA里的bin目录这个路径赋给path那么下次我在运行java这个命令的时候,即便是直接输入DOS也能够在path变量中找到JAVA的bin目录下的java指令了。
    下面说说,classpath环境变量。不知道各位注意到没有,我上面说的那句话——“假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下”,为什么要这样做呢?因为我们在用到java hello.class这条指令的时候,DOS不知道hello.class这个文件在哪里,他就先到当前目录中去找,如果找到就运行,否则失败。当然,如果说hello.java在D盘根目录下,你也可以用java D:\hello.class这条指令来运行,但是每次这样做也确实够麻烦。WINDOWS就提供了这样一个环境变量——classpath,如果没有就应该新建一个。我们把D:\这个路径赋值给classpath,那么下次在运行java hello.java的时候就先在[color=C0C0C0]当前目录[/color]中到,如果找到就运行,如果找不到就在classpath的值路径下去找,找到就运行,找不到就失败。
    以上阐述了path和classpath两个环境变量的作用,如果设置好了。java的编译和运行就基本上没什么问题了。至于有些书上说的环境变量javahome初学阶段可以暂时不管它。

[color=FF0000]2、如何设置环境变量?[/color]
    小弟向来鄙视WIN98,我一直用的WIN2000,这里就拿WIN2000(WINXP也一样哈)来举例如何设置环境变量。
    右击“我的电脑”,然后“属性”。在分页卡里选择“高级”(图片1),然后点击“环境变量...”按钮,弹出环境变量对话框(如图2)。在下面的系统环境变量中找到path然后双击,在变量值中添加上JAVA的BIN目录的路径(其他的不要删哈,删了后悔不要怪我哟~~~),和其他的路径值用英文状态的;隔开。至于classpath我一般都没有设置,但是比如有些朋友喜欢规范一点,要把java文件全部放到一个文件夹中,比如说D:\javaexe,那么在classpath中加入.;c:\jdk1.3\lib\tools.jar;c:\jdk1.3\lib\dt.jar;D:\javaexe\这个路径。[color=FF0000](注意:.;c:\jdk1.3\lib\tools.jar;c:\jdk1.3\lib\dt.jar;这三个不能少)[/color]


[color=FF00FF]二、关于当前目录[/color]
     当前在用的目录就是当前目录。比如说当你打开NOTEPAD,并处于运行状态时候,当前目录就是C:\WINNT。如果你在用java这条指令,当前目录就是JAVA下的BIN目录所在的路径。

[color=0000FF]终于打完了~~~休息ING[em19][/color]

附:
图片1

[img]http://bbs.sxzc.net//images/upfile/20053813659.jpg[/img]

图片2

[img]http://bbs.sxzc.net//images/upfile/20053813739.jpg[/img]

回复列表 (共41个回复)

11 楼

我刚开始学java,楼主解了我一大难题
非常感谢

12 楼

请教下,我设过环境变量了,一开始可以用,后来我把该文件包移到别的地方再移回来就不行了,不知道为什么?我只能新建个文件夹了(classpath)

13 楼

不错

14 楼

12楼的  说清楚些

15 楼

我用你的方法设好后,javac后面还要打路径的,java后面可以不用
javac Welcome1.java它会说找不到文件的
java Welcome1可以的

16 楼

有些情况是这样的
我的机子就可以
一剑的机子就不可以
我都不晓得原因哈~~~

17 楼

可能是有些现在的操作系统已经不支持classpath的环境变量了
WIN98支持   我以前学JAVA的时候就是在WIN98的环境中实现的

18 楼

有点扯/

19 楼

谢谢,
  让我知其然,并知其所以然!

20 楼

同意楼主~这样的问题根本不该拿上来问~

我来回复

您尚未登录,请登录后再回复。点此登录或注册