写点什么

为什么要配置环境变量

用户头像
Android架构
关注
发布于: 13 小时前

我们可以把操作系统当做是一个最大的软件,其它软件如 Office、LOL、JVM 等等都是运行在这个软件之内的小软件。 那么,环境 就是操作系统这个软件,环境变量就是操作系统这个软件中的变量,也就是:全局变量!在 shell 下面执行命令时,它会到 PATH 变量所指定的路径中查找看是否能找到相应的命令程序。



打开快捷方式的属性可以发现,快捷方式的地址指向 exe 文件



而在 path 配置环境变量同快捷方式一样。作用是指定命令搜索路径,在 shell 下面执行命令时,它会到 PATH 变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk 安装目录下的 bin 目录增加到现有的 PATH 变量中,bin 目录中包含经常要用到的可执行文件如 javac/java/javadoc 等待,设置好 PATH 变量后,就可以在任何目录下执行 javac/java 等工具了。


只有配置了 path,jdk 里面的 bin 下面的工具才能进行使用。一些 ide 才能调用 java 的工具进行编译,运行 java 程序。


2、


JAVA_HOME ->为 JDK 的安装目录,如:F:\JAVA\jdk1.6.0_04


3、


CLASSPATH ->到哪里找需要执行的.class 文件,如: .;%JAVA_HOME%\lib;


前面是一个点[.]再加一个分号[;]再以分号结束[;]


为什么要加点[.]在编译 java 文件时,如 javac xxx.java 即会在当前目录下生成 xxx.class 文件,


开始菜单->运行->cmd,在控制台里输入 regedit,回车后看到注册表出来了!其过程是当输入 regedit 时候,系统会去系统环境变量里找这个程序的可执行文件路径。打开系统环境变量的设置地方,会看到系统变量 windir 的值为 %SystemRoot%(其实也就是 c:\WINDOWS 若系统装在 c 盘的话),我们再打开 c:\WINDOWS,可以找到一个叫 regedit.exe 的程序!


设置系统变量的目的:为了使系统可以找到程序的运行路径!


在设置环境变量 path 时候,之所以要选择 C:\Java\jdk1.6.0\bin(JDK 的安装目录)的原因呢?打开该目录,发现里面全是一些可执行文件,其中有我们最熟悉的 javac.exe,java.exe 等等。是啊,之所以要选择 bin 是因为当我们在编译程序的时候,在控制台输入 javac Hello.java 是,系统要去系统环境变量下面找 javac.exe 的执行程序路径。


首先得介绍下面几个参数的作用:


current directory(当前目录):


当前在用的目录就是当前目录。比如说当你打开 NOTEPAD,并处于运行状态时候,当前目录就是 c:/windows;如果你用 cmd 命令打开命令行窗口,当前目录就是 c:\windows\system32; 如果你在用 java 这条指令,当前目录就是 JAVA 下的 BIN 目录所在的路径,因为 java.exe 在 bin 里面。


在 java 开发配置环境变量时,系统默认(我们对 classpath 不做任何设定时)的路径也是当前目录。


JAVA_HOME:


它是指 jdk 的安装目录,像 D:\j2sdk1.4.2_16。


可以新建一个 JAVA_HOME 变量,它的取值为 D:\j2sdk1.4.2_16。


为什么要设置它呢,不设定可不可以呢?不设定也是可以滴,但是最好还是设置一下。


我们现在就当它是一个变量代换 JAVA_HOME = D:\j2sdk1.4.2_16,就是为了避免多写字,它还有一个好处就是当我们需要改变某个 jdk 时,只需要改 JAVA_HOME 的值就可以了。等在后面看了 Tomcat 的启动分析时你就明白了。


当在环境变量中引用它的时候要用 %JAVA_HOME%来表示 D:\j2sdk1.4.2_16。


Path:


系统变量 Path 告诉操作系统可执行文件(.exe、.bat 等)所在的路径,当 OS(操作系统)发现某个*.exe 时,windows 默认从当前目录开始查找这个命令,若查不到,OS 就会到 Path 所设定的路径中去寻找该命令,然后执行。


系统默认的系统变量为:Path = %SystemRoot%; %SystemRoot%\system32; %SystemRoot%\System32\Wbem


就是说处于上面 3 个目录(多个变量用分号隔开)中的*.exe 文件,可以在任意地方被执行(在 运行窗口能直接执行的命令,像 cmd、notepad 等,基本都在上面的 3 个目录里面),所以他们可以直接运行。


上面的 %SystemRoot%是什么意思呢?%SystemRoot%就是安装操作系统的时候,系统默认的安装路径


若你的 windows xp 装在 C:/WINDOWS


则你的 %systemRoot%路径就是 c:/windows


%systemRoot%只是一个符号,代表你的系统安装目录


下面是常见系统默认安装路径:


98—-c:/windows


2000–c:/winnt


2003–c:/windows


xp—-c:/windows


当我们要进行 java 开发时,OS 经常需要用到 java.exe、javac.exe


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


等,(若 jdk 安装在 D:\j2sdk1.4.2_16)因此应该将 D:\j2sdk1.4.2_16\bin(%JAVA_HOME%\bin)加入到系统的 path 中去。


注意:如果你加入的位置不是在最后,那还需要在 bin 后面加上英文状态下的分号:%JAVA_HOME%\bin;多个变量之间要用分号隔开,如果它前面没有,你就加一个。


明确一下:%JAVA_HOME%\jre\bin 这个路径是不需要加入 Path 的。参考:http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html


CLASSPATH:


CLASSPATH 是专门针对 java 的,它相当于 windows 的 path;path 是针对整个 windows 的。


CLASSPATH 告诉 java 虚拟机(jvm)要使用或执行的*.class 文件放在什么地方。

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
为什么要配置环境变量