zoukankan      html  css  js  c++  java
  • 配置多个JDK存在的问题与解决方案 (亲测可用)

    安装多个JDK时的技巧 (亲测可用)

    我的电脑本来是JDK8的,后来的想在不同的JDK版本下测试JDK的垃圾回收器。

    一开始的的思路是,先安装JDK,为每个JDK配置自己的家目录,然后在想用哪个版本的时候,将JAVA_HOME指向对应JDK的家目录即可(这里PATH跟CLASSPATH不用变,只变JAVA_HOME 即可在不同JDK间切换),直接上图 (有时候图片来的更直观):
    Snipaste_2019-08-04_09-03-48.jpg

    先装的JDK9 (问题发现与解决)

    但当时,装完JDK9,改了JAVA_HOME后,cmd命令行下java -version,显示java9,但当时切换不到JDK8,当时一脸懵逼,最后找到原因:

    当装完新的JDK后,它会给你在PATH自动配置一个环境变量,如图:
    Snipaste_2019-08-04_09-12-21.jpg

    当找到C:ProgramDataOracleJavajavapath所指的目录时发现如下三个文件:
    Snipaste_2019-08-04_09-14-39.jpg

    当在cmd下运行这个java.exe时发现:
    Snipaste_2019-08-04_09-16-39.jpg
    总结: 这才明白,当装完JDK9时,JDK自己给你配好了环境变量,而且它在PATH环境变量里面属于第一个,因为覆盖了后面自己配的环境,所以才在命令行显示的jdk9。

    后装的JDK7 (问题发现与解决)

    安装完JDK7之后,又出现异常,不论怎么改自己配置的环境变量,命令行下由java -version一直显示jdk8了(玄学。。。。),根绝排查上一个错的经验,猜想肯定是PATH 下JAVA_HOME前面的某个环境变量在做鬼,因此把JAVA_HOME移动到最顶端时,一切又回到了我们的预期。然后通过将JAVA_HOME放在PATH下不同的位置终于找出了做鬼的环境变量,
    Snipaste_2019-08-04_09-30-28.jpg

    然后在它对应的目录下找到了
    Snipaste_2019-08-04_09-32-55.jpg
    同样在cmd命令行下测试该java.exe的版本
    Snipaste_2019-08-04_09-35-20.jpg

    总结

    现在终于明白之前各种情况的原因了,当装完JDK9后把jdk9自己配好的环境变量删掉,然后把C:WindowsSystem32移动到JAVA_HOME之后(或者删除该目录下java.exe),因为C:WindowsSystem32包含大量的系统文件,不能把该目录直接删除。然后每次更改JAVA_HOME的值都能达到我们预期的效果。

  • 相关阅读:
    菜单按钮及导航
    实现点击箭头切换图片页和相册滚动
    网页设计的基本原则
    网格系统
    表单系列2
    类与对象学习总结
    汉诺塔的最简的步骤思路
    3.31作业解答
    初学java 用if语句做几个小程序
    做三个java初期学习的练习Var1~3为头目标
  • 原文地址:https://www.cnblogs.com/minghaiJ/p/11297272.html
Copyright © 2011-2022 走看看