- 环境变量 :操作系统中的全局变量,当我们在dos命令行输入指令时,有一些是系统自带的指令,而有一些却不是,例如mysql、java等指令(其实是exe文件的简写),这时系统会在cmd窗口下当前目录下寻找是否有符合的可执行文件,如果找不到当然是无法识别的(则需要配置环境变量),继而是会像path变量指定的参数目录下寻找相对应的可执行文件。所以关键点在于给path等系统变量进行参数赋值。
- path环境变量的作用--帮助系统操作java用javac将源码编译成.class文件, 在调用java 命令让程序执行.
- 问题是:系统是如何找到并调用javac.exe和java.exe两个应用程序的?打个比方,平时我们运行某一程序,比如魔兽,酷狗音乐,都是先找到它们的应用 程序war3.exe和kugou.exe的所在位置,然后双击运行。那么操作系统是如何自动找到javac.exe和java.exe的位置呢?
- classpath环境变量的作用--告诉java虚拟机所有的可执行文件.class都在哪。它的值也是由目录组成,它的作用在于告诉Java执行环境,在哪些目录下可以找到所要执行的Java程序所需要的类或者包。
- 比如要运行一个名为Test.class的文件,而这个程序调用了另一个Link.class文件的内容,那么系统必须知道 Link.class文件的位置才能调用Link.class文件。如果Link.class文件的目录在classpath环境变量的值中,就可以找到了。
- java_home环境变量---使得其他相关环境变量的配置更加方便简洁;java_home一般设置为jdk的安装目录,比如C:\Program Files\Java\jdk1.6.0_22.如果设置了java_home,那么path环境变量可以配置为“%java_home%\bin”。
- 【注】其实一个新增软件要使系统识别其指令(例如识别mysql),真正需要配置的是path环境变量参数,因为系统最终找的是该参数目录。那么为什么会有个java_home环境变量呢?其实它是个自定义变量,如下图是等价的。
- 就好比说,我在配置mysql环境变量时,直接在path下指定到bin目录,其实我也可以先配个自定义变量:mysql_home,令mysql_home:c:\*\*\mysql server5.1;再在path下定义path:%mysql_home%\bin;(注意要用%%来取里面字符变量对应的值,否则就是简单的字符串了)如下图,完全毫无问题,只是复杂一点而已。