为什么要配置path环境变量?
一:关于path环境变量--为了在任意目录下,使用javac/java命令
第一种配置方法:
通过配置path环境变量,我们可以使某个程序,比如javac.exe,在任意目录下都可以运行,而不用跑到javac存在的目录下进行dos命令。
比如:可以将QQ.exe所在目录配置到path中,这样在任意目录下打开命令行,输入QQ.exe都可以运行QQ。
见图:
通过以上设置,我们将程序的开发文件存在其他目录下,一样可以运行javac命令来进行编译、运行。
第二种配置方法:
当电脑上有多个JDK时,就需要多次修改path,用哪个jdk的java、javac、就需要修改path中的bin路径,这样很容易出错!
ps:两个%%相当于引用的意思。
好处,当切换JDK时仅需要修改JAVA_HOME中的安装路径就可以。
综上所述: 配置path变量是为了在任意目录下使用javac、java命令! 前提是你得进入这个任意目录啊大哥!想要不进你存java文件的目录就运行编译,除非你去配置classpath变量!
二、classpath变量---为了不进入存放文件的目录就可以通过javac、java运行、编译该文件。(java、javac命令在哪里都可以使用,因为我们配置了path)
我们一般不配置classpath,因为如果有不同文件夹下重名的class文件,执行的是classpath中靠前的那个,有可能不是我们希望执行的那个class文件。
作用:使可以在任意路径下执行class文件。
配完classpath以后,(在classpath中配置当前class存放目录:如f:\huangtao\javase\)在c、d、、、任意地方都可以运行class文件,
ps: java运行class文件时,按顺序搜索classpath中的几个路径。
classpath仅仅是为了.class文件可以在任意目录运行(前提是这几个任意目录都已经配置在了classpath中),但是javac编译java文件时必须要跳到该文件所在目录以后才能执行。
比如在f:\huangtao\java文件\下存放了一个HelloWorld.java文件,只可以在该目录下才可以执行javac命令编译该文件。
在f:下存放了另一个HelloWorld.java文件,也是只有在该目录下才可以javac编译这一个java文件。
配置了classpath以后,当我们想运行f:\huangtao\java文件 下的class文件,可以不用在该目录下执行java HelloWorld,只要在f:中都行,系统会默认先执行classpath中靠前的那个class路径。
三:classpath与path的区别
ps: path里记录的是 .exe 文件,classpath对应的是 .class 文件。