zoukankan      html  css  js  c++  java
  • 环境变量jdk版本与java -version显示不一致



    问题描述:

    今天遇到一个小bug,我电脑环境变量配置的版本是jdk1.8,但是当我cmd 使用java -version检测jdk版本的时候,它显示的是1.6,而且,无论我如何修改环境变量,cmd检测出来的jdk版本都是1.6版本。

    经过长达不到1小时的时间,通过各种方法和尝试,终于发现问题所在。

    问题产生原因:

    1.Path环境变量配置了Oracle

    如果电脑上安装了oracle的,如果是的话,你查看path中所有的配置,
    你会发现oracle的jdk1.6的配置在jdk1.8的配置之前,
    oracle jdk

    解决方案:jdk1.8安装之后,jdk版本不是自己设置的jdk版本

    在class的配置文件中发现,在最初为位置多了这个配置:C:ProgramDataOracleJavajavapath,后来在C盘中发现ProgramData这个文件夹是处于隐藏状态,然后利用文件夹选项调试出来,进入对应的目录进行查看后,发现,这是jdk1.8自动为我们配置的环境变量,然后自动添加到我们的系统环境配置中,然后,我们把我们系统环境变量中的C:ProgramDataOracleJavajavapath删除之后,再进行自己配置时,就可以显示为自己的环境变量了。jdk1.8的默认将我们的设置给覆盖掉了。

    path环境变量,操作系统查找可执行文件的目录.

    classpath环境变量,java.exe查找class文件的目录(类文件)

    2.C:windowsSystem32下,还有java.exe。

    问题原因:安装的jdk1.7换成1.6之后在dos命令Java -version 死活1.7问题解决

    之前装的是JDK1.7,后来不能编译某些代码,要换成JDK1.6
    java_home,classpath,path全部配置为JDK1.6的路径,但是在dos执行java -version,显示为JDK1.7的版本,环境变量配置找好几个看过,没有问题!
    原因:
    C:windowsSystem32下,还有java.exe。

    所以,要将 JAVA的bin目录,放在PATH的最前面。



    java -version显示的是最新安装版本的java

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

  • 相关阅读:
    32 最小子串覆盖
    31 数组划分
    29 交叉字符串
    动态规划
    18 带重复元素的子集
    17 子集
    16 带重复元素的排列
    23.二叉树的后续遍历序列
    J.U.C-其他组件
    21.Longest Palindromic Substring(最长回文子串)
  • 原文地址:https://www.cnblogs.com/aixing/p/13327562.html
Copyright © 2011-2022 走看看