***************************************
为什么要配置环境变量:
1. PATH环境变量(Window不区分大小写,Linux系统下必须大写)。
作用是指定命令搜索路径
在CMD中执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac java javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac java 等工具了。
好比path环境变量里面有个%SystemRoot%\system32是指系统根目录中的system32目录中(C:\Windows\System32),如果不设置它的话,那么你直接CMD下>notepad是召唤不出来记事本的。
测试:如果直接输入java javac 不行,就是PATH设置问题
2. CLASSPATH环境变量。
(1.8版本不需要设置,据说是自动添加本地路径,不过因为某些公司会使用不是最新版本的JDK,设置一下还是比较稳的)
作用是指定类搜索路径
要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。 (当前目录:Java代码编译后的class文件存在放当前目录下,运行时class文件必须在classpath对应目录下。)
测试:javac xxx (不需要.class),如果不设置当前目录的话,即使在cmd中跳转到当前目录也无法javac 到目标文件
3. JAVA_HOME环境变量。
它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
另外,其他的环境变量设置也可以通过%JAVA_HOME%来取得JAVA_HOME环境变量的值来方便设置
PS:
用户变量跟系统变量的区别:
仅由当前用户使用的变量和系统各个用户公用变量的区别。
变量设置:
************classpath变量***************
打开我的电脑--属性--高级--环境变量
***************************************
2.
新建变量
JAVA_HOME
其中变量名是安装JDK的路径;
***************************************
3.新建变量
CLASSPATH/classpath(两个变量名都可以)
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
意思:
· %JAVA_HOME%-----取得JAVA_HOME的变量值,则%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;意思是JDK安装路径下的lib\dt.jar和\lib\tools.jar
· lib\dt.jar和\lib\tools.jar
dt.jar和tools.jar是两个java最基本的包,里面包含了从java最重要的lang包到各种高级功能如可视化的swing包,是java必不可少的。
tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到
· rt.jar是JAVA基础类库(默认在加载路径中,默认不需要添加),dt.jar是关于运行环境的类库(主要是Swing),tools.jar是工具类库
*************path变量******************
而path下面的bin里面都是java的可执行的编译器及其工具,如java,javadoc等,你在任意的文件夹下面运行cmd键入javac,系统就能自动召见java的编译器就是归功于这个环境变量的设置
选择“环境变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径(完整写出路径),添加到Path变量的值中。
或者是:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
加上jre是用于非编译器运行程序
!!!不要删除错东西,删除就按取消,然后重来。