java -version和javac -version不同原因及修改方法

1、出现原因

我之前安装的jdk是1.6;后来又装成1.8,把变量名JAVA_HOME改成了1.8的文件路径,最终导致java -version和javac -version显示的版本不一致。

2、错误结果

java -version   显示的是最新安装版本的java 
javac -version 显示的是你配置环境变量版本的java

3、修改方法

把 %JAVA_HOME% 放在Path的头部;

  1. 变量名:JAVA_HOME  
  2. 变量值:C:\Program Files\Java\jdk1.8.0
  3. 变量名:CLASSPATH  
  4. 变量值:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  5. 变量名:Path  
  6. 变量值:%JAVA_HOME%\bin;

这些变量都是配置在系统变量里面的(见下图)

4、jar及jdk/jre解释

  1. dt.jar和tools.jar位于:%Java_Home%/lib/下,rt.jar位于:%Java_Home%/jre/lib/下
  2. rt.jar是Java基础类库,也就是你在java doc里面看到的所有的类的class文件
  3. dt.jar是关于运行环境的类库
  4. tools.jar是工具类库,编译和运行需要的都是tools.jar里面的类分别是sun.tools.java.*; sun.tools.javac.*; 在Classpath设置这几个变量,是为了方便在程序中 import;
  5. Web系统都用到tool.jar。
    1. rt.jar 默认就在Root Classloader的加载路径里面的,而在Claspath配置该变量是不需要的;同时jre/lib目录下的    其他jar:jce.jar、jsse.jar、charsets.jar、resources.jar都在Root Classloader中
    2. tools.jar 是系统用来编译一个类的时候用到的,即执行javac的时候用到 javac XXX.java 实际上就是运行    java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java;javac就是对上面命令的封装,所以tools.jar 也不用加到classpath里面
    3. dt.jar是关于运行环境的类库,主要是swing的包  在用到swing时最好加上。
  6. jdk与jre的区别
    1. JDK,开发java程序用的开发包,JDK里面有java的运行环境(JRE),包括client和server端的。需要配置环境变量。。。。
    2. JRE,运行java程序的环境,JVM,JRE里面只有client运行环境,安装过程中,会自动添加PATH
    3. jdk/jre详解
       
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值