• 解决jdk1.7,1.8共存问题小思


    一 起因

      随着jdk1.9呼之欲出之势,准备花点时间把jdk1.8搞掉,于是准备下一个项目的依赖改为jdk1.8,先去下载安装,安装好之后电脑上就存在两个版本的jdk。然后将两个版本的jdk路径都配置在环境变量中,我也很期待会出现啥情况,然后cmd-->java-version出现下面:

    jdk1.8

    比较开心,正是我期待的结果,然后啥都没管就傻傻的去开发了,然后过几天需要切换回jdk1.7,挖了一些坑。

    二 初次进行切换

      首先右键查看我的电脑-->属性-->高级系统设置-->环境变量-->path,查看配置的环境,发现1.7和1.8都有配置在环境中,那为什么会运行jdk1.8呢?从源头出发,之所以能够在命令行开启或者是查看jdk1.8,主要是因为在c盘-->windows--.system中或者其子目录下包含相关程序,于是找到java,Java,javaw三个文件并将其删除,删除后再次在cmd窗口测试java:

    jdk1.7和1.8冲突

      oh no,大概意思是我想要启动jdk1.7但是环境还是1.8???我有点懵比,你是怎么知道我要启动1.7,后来仔细一想,任何标记程序启动最终还是在注册表里去找对应的坐标和环境坐标,于是准备去注册表试试。

    三 解决冲突

      好的,下面进入注册表(regedit)进入后ctrl+f进行搜索Java Development Kit,找到jdk的坐标位置并进行配置。

    搜索jdk

    。。。。稍等

    设置jdk环境

    然后搜索到这个,可以看到,第一个是jdk,第二个是java运行环境,现在回忆一下刚刚的报错信息,have value1.8,but 1.7 is required,也就是说注册表中的jdk环境是1.8,但是注册表中的jdk是1.7,这样的话只需要保证两个一致就行了,可以参考我的设置

    jdk版本

    注册表java运行环境

    具体版本信息根据你自己下载的jdk版本决定(只要一致就行)java运行环境中的Browser JavaVersion(java能够适配到的浏览器版本)可以忽略。

    好了这样一来就解决了jdk1.7和jdk1.8共存的冲突问题,下图已解决。

    jdk1.7解决

    ·后来一想,这样设置之后。会不会无法切换jdk1.8,每次都要去注册表切换??

    然后我试着把环境变量设置成jdk1.8,结果:

    jdk1.8可用

    这是我先要的效果--->只需要改变环境变量中JAVA_HOME的位置即可,但为啥是这样呢,注册表明明是1.7

    然后我去注册表再去看了一下,好吧,jdk1.8会自动生成在里面,并且也有MSI文件,这样的话就彻底解决jdk冲突了。

    四 更多的坑

      配置好玩环境后,我自觉地打开eclipse。。。无法启动(图片忘记截取了)意思就是说,myeclipse需要的环境是1.7,当前系统环境是1.8,无法启动。

    想一想myeclipse还能在哪儿配置环境,打开安装目录找到myeclipse.ini,发现里面配置的是1.7,将其改成当前系统的环境即可。

    myeclipse的jdk版本

     如图,-vm的值指定到当前系统jdk的位置即可,在此启动myeclipse完成

    五 反思

      诸如此类安装环境,配置环境的问题在实际开发中其实遇到的不是很多,或者说只会遇到个别几次,并不会向我们写代码那么频繁。由于次数很少,我们可能并不会遇到这个过程会遇到的所有问题,这样的话,遇到新的问题极有可能浪我们大量的时间,所以在我们使用工具或者说第一次搭建环境的时候,一定要尽量对该工具有足够的了解,再小的问题也要认真的去对待,对工具软件有自己的理解,适当的走一些笔记,这样的话及时遇到第一次见的问题也只是想想几秒钟的事儿了。

  • 相关阅读:
    2021/4/6
    2021/4/5
    2021/4/2
    2021/4/1
    2021/3/31
    2021/3/30
    2021/3/29重构
    总结
    js 座机正则
    uni-app 条件编译
  • 原文地址:https://www.cnblogs.com/fxmemory/p/7234848.html
Copyright © 2020-2023  润新知