java环境变量设置的意义

Java环境变量配置详解

作为一个java开发者,在每次装完jdk之后,都需要配置一下java的环境变量

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_101(你的电脑上jdk的安装路径,因人而异)

CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

作为一个重装系统的狂魔,大二到大三已经不知道配置过多少次这玩意了,但每次都要百度知道这玩意怎么配,而且每次都不知道这写的是什么意思。下面我们来一个一个分析。

  • JAVA_HOME

    它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 没什么好说的,大家应该都能看懂吧。

  • Path环境变量

    作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待。“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;“这里的%%其实就是引用之前写好的JAVA_HOME,所以直接写成”C:\Program Files\Java\jdk1.8.0_101、JAVA_HOME%\bin“也不会有问题

  • CLASSPATH环境变量(重点介绍)

    1. 首先先介绍一下CLASSPATH在java中代表什么,根据《Thinking In Java》中的解释解释器在运行java的时候首先CLASSPATH环境变量,CLASSPATH包含一个或多个目录,用于查找class文件的根目录。在java的代码中我们经常写到import *..之类什么的,那Java的编译器又是怎么找到具体的类路径呢。答案就在CLASSPATH中。
    2. 当编译器遇到import语句时,就会在CLASSPATH的目录下查找,比如”import java.util.ArrayList;“,那么就会在CLASSPATH路径下查找java/util/ArrayList.java,如果没找到就会报错。

    ”.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;“,一点一点来,首先是".;",开始最让我感到疑惑的就是这玩意是干嘛的,度娘了半天才知道这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件。%JAVA_HOME%同样是对已经设置的环境变量的引用,后面的tools.jar是工具类库,我们平时用到的:

    javac XXX.java

    实际上就是运行

    javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java

    dt.jar是关于运行环境的类库,如果不做swing的开发,这个也可以不加

  • 既然CLASSPATH环境这么重要,如果我们在开发时不设置这玩意会有什么影响吗?在简单作死了一下,把CLASSPATH环境变量给删了,然后运行之前的项目,居然发现。。。。。。。

    一点影响也没有!!!然后我在命令行中尝试运行javac XXX.java ,居然也没错。表示整个人都思密达了,感觉自己试试被骗了。万事不行找谷歌,后来才发现,jdk1.6之后就不需要配置这玩意了,坑爹呢这是,那你刚刚说那么多不都是废话吗。不过建议还是配一下,学习一下原理也是不错的,以后出去也能装装逼嘛。不过其它两个是一定要配置的。

你可能感兴趣的:(java环境变量设置的意义)