背景:java
Oracle公司的java10已经出了有一段时间了,正好闲着没事想大规模换软件也就直接把jdk8换成了jdk10了。而后把全部软件都卸载了,从新装最新版。sql
问题描述:oracle
而后使用开始安装Eclipse、IDEA、MysqlDataBase、OracleDataBase,而后安装到Microsoft SQL Server2017和Myeclipse时出现了一点问题。eclipse
Microsoft SQL Server2017在检查安装环境的时候直接报错spa
它这意思就是我电脑上没有安装java10(或者说是它没法识别),让我去安装jre7(或者jdk7也是同样的),这就比较奇怪了。姑且把他算做2017的bug吧,而后安装Microsoft SQL Server2016结果也是同样的状况。这就有点让我纳闷了,Microsoft SQL Server2016是我以前就安装的版本,以前安装都没这种状况为何如今会这样呢?翻译
暂且放一边,而后安装Myeclipse-2017-CI-10。3d
Myeclipse自己安装没有什么问题,但就是在破解软件的时候出了大问题。blog
按正常状况下应该是运行破解文件的*.bat文件(*表明任意的文件名)以后,应该会自动去链接或者是调用cracker2017.jar这个破解程序,好比这样:ip
可是如今的状况是,只出现了cmd控制台的窗口,却没有弹出原本应该弹出的破解界面,而后再过一会又自动关闭了控制台。这个就扎心了有没有,记得好像Myeclipse的破解每一个版本都是这样用呀,怎么会不行呢?cmd
接着我又用管理员身份运行了一下这个*.bat文件,问题来了
因为英语很差,用有道翻译了一下,意思是"错误:没法访问jarfile cracker2017.jar",这个就比较扯了。而后不管是双击.bat文件仍是.jar文件,都没办法运行。
而后想到以前安装Microsoft SQL Server2017的时候,提示我安装jre7。而后仔细想了想,会不会是java10的认证方式和以前版本不一样,或者是java7里面有的东西,java10没有?并且以前用jdk8安装Microsoft SQL Server2016都没问题,如今java10安装Microsoft SQL Server2016都会报错。应该锅就是java10的。
解决问题:
而后去oracle下载安装了java8(以前提示的是更高版本也行),环境配好。再次尝试安装Microsoft SQL Server2017没有报错很顺利的安装了,再来破解Myeclipse破解界面也正常弹出了。实锤这个锅就是java10的。
思考缘由:
因此问题就在于java8与java10的区别,既然以前提示没有java那也就是没有找到java,那环境变量的问题概率比较大。既然有多是环境变量的问题,最有可能出问题的就是lib目录下的环境变量的配置(由于JAVA_HOME确定是有的,可是lib目录下面不必定有须要配置那两个文件)。
打开java8的安装目录:
再打开java10的安装目录:
对比两个目录:java10还真的没有dt.jar和tools.jar文件。然而在配环境变量的时候(按照主流的比较完整的配法是:在系统变量配置:JAVA_HOME、在Path下配置:%JAVA_HOME%\bin、以及%JAVA_HOME%\lib\dt.jar和%JAVA_HOME%\lib\tools.jar),可是由于java10的lib里面没有dt.jar和tools.jar。因此java10中最后的两个配置是无效的,说不定还会引起其余的bug(猜想)。
可是又有同时须要java10和java8及其之前版本的怎么办呢?能够装两个java的版本配置三个环境变量JAVA_HOME来解决版本切换的问题,JAVA_HOME、JAVA8_HOME、JAVA10_HOME
例如:
Path:
准备用哪一个版本就把JAVA_HOME的自改成相应的%JAVA10_HOME%(%%表示引用这个变量的内容),这样剩下的环境变量配置会自动根据JAVA_HOME的值,找到对应的版本。
从而实现版本切换(第一次配置完java10和java8后须要重启,以便生效。以后就能够直接改变环境变量的JAVA_HOME进行版本切换,不用重启)
查询当前java的版本号:同时按住Windows键和R键,输入cmd,而后输入Java -version 回车就能够显示你如今用的是哪一个版本的java了
若是在环境变量里面切换了JAVA_HOME须要从新打开cmd进行查询版本号
PS:不得不说仍是oracle对本身家的东西支持最好,你看人家OracleDatabase和MysqlDatabase就没大家这些幺蛾子