新的一年又开始了

你年前的总结还记得么?你新年的计划做好了么?反正我都没做。

上班第一天大家都在晒着开工红包,看着一个比一个刷到的红包多,庆幸自己幸好没结婚;开心的聊着过年又被七大姑八大姨爷爷奶奶爸爸妈妈催婚,然后自己没有女朋友;说着同学朋友聚会大家都开着车去的,自己骑着一个自行车;他家孩子已经一岁多了,她又去了一次境外游,他买了房子并涨价四千块。而你呢,好像还是和去年没什么两样...

第一天我就开始写代码了

当和大家一起刷完领导和同事的开工红包后,我就马不停蹄的打开电脑准备写代码啦!但万万没想到,当我点开 Eclipse 的时候,她给我弹出一个对话框,我以为是要祝我新年快乐、鸡年大吉吧呢!谁知道...

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.7', but '1.8' is required.

明显感受到了来自 IDE 深深的新年祝福,新年第一天打开电脑第一件事就是修复 IDE,也是够了。不过,从对话框上的文字,可以得出是 JDK 版本冲突了,这时候我想起来,在过年前放假回家的前一天,我在这台电脑上又装了 Java 1.8 版本的 JDK 来调试其他的一个项目。CMD 打开命令行窗口,敲击 java -version 命令,果然还是这句话:

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'

has value '1.7', but '1.8' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

翻译成人话:出错啦!你告诉我 1.7 ,却给我 1.8 ,找不到!找不到!!

既然 IDE 挂了,那就不写代码了

怎么可能,今天还有一个小功能要上线呢。首先考虑是环境变量配置出问题,检查也没错,都是之前配置的 1.7 版本;接着检查注册表都没有什么异常,CurrentVersion也都是之前的 1.7 版本;我想不出来还是什么问题了,就去 Google 了一下,找到了 SO 上的一个问题:Registry key Error: Java version has value '1.8', but '1.7' is required 哈哈,和我一样,这就好办了。再接着了解到,虽然我们一直配置的环境变量中的Path\JAVA_HOME等这些东西,但当我们在命令行窗口执行java -version或打开 Eclipse 的时候,执行的并不是环境变量配置下bin目录的文件,而是C:\Windows\System32下的文件。

了解原因以后,那再根据提示就会发现:可能我的C:\Windows\System32下的文件是 1.8 版本的,不是 1.7 的。这是因为我先安装的 JDK 版本是 1.7 的,这时候C:\Windows\System32下的文件肯定只有 1.7 版本的,但当我又安装了 1.8 版本的 JDK 之后,系统可能把 C:\Windows\System32 下的 1.7 版本文件覆盖掉了!掉了!!掉了!!!那我就替换呗。

肯定有人会问:既然知道是多个不同 JDK 版本,卸载年前安装的 1.8 版本不就行了?那可不行,1.8 还有用呢,所以,需要保留 JDK 1.7 和 1.8 两个版本,现在要做的就是让两个版本共存且不再冲突

替换。两个不同版本 JDK 共存

Windows 下多个 JDK 版本共存首要条件是得仅有一个版本为主要的,其他不同的版本 JDK 调用只需要在 Tomcat 的bin/catalina.bat中配置JAVA_HOME即可了。选定自己需要的 JDK 版本后,就要把环境变量的JAVA_HOME、注册表等这些关于 JDK 版本的配置改为你需要的,我这里需要 1.7 版本,就拿 1.7 版本做演示。

1.安装 1.7 和 1.8 JDK,配置 1.7 环境变量(已安装,略)。

2.查看或修改注册表

找到HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft节点,查看Java Runtime EnvironmentJava Development kit中的CurrentVersion值是不是 1.7 ,不是就改为 1.7 。如图:

3.替换 java.exe/javaw.exe/javaws.exe

找到环境变量JAVA_HOME中配置路径下的bin目录中的 java.exe/javaw.exe/javaws.exe 这三个文件,用这三个替换C:\Windows\System32C:\Windows\SysWOW64中的文件。如图:

当然,还有C:\ProgramData\Oracle\Java\javapath下的这三个文件快捷方式,也要替换一下。

4.完成

命令行窗口再次执行java -version,看到下面画面就是成功啦!Eclipse 也能打开了,我写完了代码。

总结一下

新年开工第一天竟然是以修 IDE 开始的,打死我也想不到,但我们作为开发者不就是整天在做修补工作么,修完这个 Bug ,还有下一个 Bug 在等着,我认为这才是这个职业的魅力所在,你永远不知道接下来等着你的是什么,在没来临的那一刻。

好了,年也过完了,新的年又开始了,你也许去年混的不怎么样,但你放心,你今年会依然混的不怎么样,哈哈,开个玩笑,不过在我有限的认知中,我认为我们所从事的这个职业是现阶段社会上的职业中幸福的了(因为我特么没干过其他职业)。当然,我知道你们又要跳槽了,祝大家找工作的找到好工作,不找工作的好好加班写代码,未来都是大家的。

新年上班第一天,我的 IDE 挂了的更多相关文章

  1. Zookeeper_阅读源码第一步_在 IDE 里启动 zkServer(集群版)

    上篇文章Zookeeper_阅读源码第一步_在 IDE 里启动 zkServer(单机版)讲了在 idea 里以单机的方式启动zookeeper,这篇介绍一下以集群的方式启动. 集群方式启动,才会真正 ...

  2. 帝都之行9day:正式上班第一天

    今天是我正式上班的第一天. 面了两天,三家公司,然后周五就去办入职了,我是不是太随便了点,捂脸. 不管怎么说,又要开始上班啦,CRUD的日子又要开始了…… 加油吧!

  3. Zookeeper_阅读源码第一步_在 IDE 里启动 zkServer(单机版)

    Zookeeper是开源的,如果想多了解Zookeeper或看它的源码,最好是能找到它的源码并在 IDE 里启动,可以debug看它咋执行的,能够帮助你理解其原理. 准备源码 所以我们很容易搞到它的源 ...

  4. k8s 开船记-故障公告:自建 k8s 集群在阿里云上大翻船

    非常非常抱歉,新年上班第一天, 在今天阿里云上气候突变情况下,由于我们开船技术差,在今天 10:15~12:00 左右的访问高峰,我们竟然把船给开翻了,造成近2个小时整个博客站点无法访问,由此给您带来 ...

  5. socket-详细分析No buffer space available

    关键词:socket,tcp三次握手,tcp四次握手,2MSL最大报文生存时间,LVS,负载均衡 新年上班第一天,突然遇到一个socket连接No buffer space available的问题, ...

  6. socket-详细分析No buffer space available(转)

    新年上班第一天,突然遇到一个socket连接No buffer space available的问题,导致接口大面积调用(webservice,httpclient)失败的问题,重启服务器后又恢复了正 ...

  7. 记录:mac的浏览器访问任何域名、网址都跳转到本地127.0.0.1或固定网址

    新年上班第一天,刚开机就遇到了个小坑,问题是这样,打开浏览器,输入任何网址都跳转到本地的一个项目,该项目在本地Apache配置下,监听的端口是8888,本机访问的形式是127.0.0.1:8888. ...

  8. 如何删除xcode 中过期的描述性文件

    1.使用终端 首先 打开终端 cd ~/Library/MobileDevice/Provisioning\ Profiles/再删除所有 rm *.mobileprovision 2.直接找到文件夹 ...

  9. Kafka又出问题了!

    写在前面 估计运维年前没有祭拜服务器,Nginx的问题修复了,Kafka又不行了.今天,本来想再睡会,结果,电话又响了.还是运营,"喂,冰河,到公司了吗?赶紧看看服务器吧,又出问题了&quo ...

随机推荐

  1. MariaDB GTID 复制同步

    MariaDB GTID 复制同步 GTID:Global Transaction ID,全局事务ID,在整个主从复制架构中任何两个事物ID是不能相同的.全局事务ID是Mster服务器生成一个128位 ...

  2. Delphi2010生成GB2312字库乱码问题

    用Delphi2010做一个点阵字库软件,字库生成部分是从一个用Delphi2007做旧的程序里扣出来的.点阵字库软件完成后生成GB2312字库在LED控制卡上显示为乱码.知道Delphi版本高于20 ...

  3. POJ3723最小生成树

    题意:从一个起点出发连接男孩子和女孩子,若是两者之间有连接的,则花费为10000-d,若是没有连接的则花费为10000 分析:很显然是一个最小生成树,但是我们希望的是d越大越好,因为d越大,10000 ...

  4. Java通过JNI调用dll详细过程(转)

    源:Java通过JNI调用dll详细过程 最近项目有这样一个需求,在已有的CS软件中添加一个链接,将当前登录用户的用户名加密后放在url地址中,在BS的login方法里通过解密判断,如果为合法用户则无 ...

  5. iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程

    概述: 苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有证书,做了这么多次还是感觉很纠结,索性直接记录下来,日后你我他查阅都方便: 首先得描述一下各个证书的定位,作用,这样在制作 ...

  6. Codeforces 242E:XOR on Segment(位上的线段树)

    http://codeforces.com/problemset/problem/242/E 题意:给出初始n个数,还有m个操作,操作一种是区间求和,一种是区间xor x. 思路:昨天比赛出的一道类似 ...

  7. jQuery API 中文文档

    Reference: http://www.css88.com/jqapi-1.9/jQuery.proxy/

  8. 如何使用python timeit模块使用实践

    其实平时使用测试应用运行时间的情况 细算一下还真的很少.很久没有做性能优化的工作,不管是cProfile还是timeit模块都已经生疏了很久没有使用,我在以前的文章里面有提到过cPfile的性能测试使 ...

  9. bzoj2120: 数颜色 &&bzoj2453: 维护队列

    题目大意: 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色的弹珠有多少.当然,A有时候会依据个人喜好 ...

  10. Borda count

    波达计数法(Borda Count)是较为简单的排序投票法,每个选项借由选票上的排序来取得积分,积分最高者获胜.另一个类似的方法则是位置投票制. 投票人按喜好排列候选者.如果候选者在选票的排第一位,它 ...