今天看“Java从初学到精通”的时候(最近在看各种Java面试题,发现最常遇见的面试题都是很基础的知识和技术,然后就是很流行的框架,所以开始打牢基础知识,后期开始分享Java面试题。),突然发现了一个问题,有关环境变量配置的另一种方法。这种配置方法以前遇到过,但是没有仔细思考其中的区别,今天就来分享这两种配置环境变量的方法和其中容易遇到的问题!之前分享过其中的一种方法,但是对于javac不是内部外部命令,没做汇总,今天统一做一下汇总。
A、在这里默认大家已经安装的JDK和JRE,其实JDK的安装非常简单,我们只要去官网下载.exe的安装包,像安装QQ一样安装就行,也可以不改变路径,一直下一步,下一步直到把JRE也同样安装。
B、第一种配置方法:不需要CLASSPATH的方法。
a、新建JAVA_HOME,值就是我们JDK的主目录:“D:\Java8u92\jdk1.8.0_92”。
b、在path的末尾加入:“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”。
c、确认重新打开命令行验证结果。
第二种配置环境变量的方法:需要CLASSPATH的方法。
a、新建JAVA_HOME,值就是我们JDK的主目录:“D:\Java8u92\jdk1.8.0_92”。
b、新建CLASSPATH路径:“%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。
c、在path变量中新增:“%JAVA_HOME%\bin”。
d、确认重新打开命令行验证结果。
注意:这里如果没有配置CLASSPATH,会出现javac不是内部或外部命令,同时,如果在path中直接引用CLASSPATH,同样会报javac不是内部或外部命令的提示。(特意把CLASSPATH删掉看:javac不是内部或外部命令)
C、思考:那dt.jar和tools.jar到底是什么东东?
大家可以打开看看源码,然后再打开一个源文件看一下,比较正常的jar包打开源文件,你就会发现:
dt.jar和tools.jar是两个java最基本的包,里面包含了从java最重要的lang包到各种高级功能如可视化的swing包,是java必不可少的。而path下面的bin里面都是java的可执行的编译器及其工具,如java,javadoc等,你在任意的文件夹下面运行cmd键入javac,系统就能自动召见java的编译器就是归功于这个环境。
变量的设置rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库,设置在classpath里是为了让你 import *。
思考:为什么打开dt.jar有的交易会报错呢,而有的不会?
首先说明jd-gui是没有错的,这个原因我找很久,答案不是很理想,我个人猜测是有些源码文件只是为了引入别的jar包的源码,这里只是一个快捷方式,而在JVM上运行是可以连接到原文,这里不行,所以才会报错,各位大神,有更好的解析吗?欢迎留言!
欢迎大家继续关注我的经验分享!