安装多版本的JDK出现问题及解决办法

一,背景

1,原来安装了jdk1.8.0_91,因为要在本地跑服务端程序,需要1.7版本的,需要安装的是1.7.0_79;

2,原来的安装目录:

D:\Program Files (x64)\java\jdk1.8.0_91

D:\Program Files (x64)\java\jre1.8.0_91

3,低版本的安装目录:

D:\Program Files (x64)\java\jdk1.7.0_79

D:\Program Files (x64)\java\jre7

也就是所有的jdk和jre是安装在同一个目录下的。

4,配置JAVA_HOME、CLASSPATH和Path路径

JAVA_HOME=D:\Program Files (x64)\java\jdk1.7.0_79

CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME% \lib\tools.jar;

Path=C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program Files\VanDyke Software\Clients\;D:\Program Files\Git\cmd;D:\Program Files (x64)\apache-maven-3.3.9\bin;D:\Program Files (x64)\nodejs\;D:\Program Files\OpenVPN\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

二,问题

现象描述与问题排查:

1,配置好上述环境变量之后,在命令提示符窗口中输入java -version,出现的版本还是1.8.0_91,按照网上说的方法改了path变量值如下,也就是把%JAVA_HOME%那两个提到最前面,但是这样子之后输入java -version问题依旧:

Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program Files\VanDyke Software\Clients\;D:\Program Files\Git\cmd;D:\Program Files (x64)\apache-maven-3.3.9\bin;D:\Program Files (x64)\nodejs\;D:\Program Files\OpenVPN\bin;

2,然后我做的尝试就是将

D:\Program Files (x64)\java\jdk1.8.0_91

D:\Program Files (x64)\java\jre1.8.0_91

两个文件夹转移到D:\Program Files (x64)\java1目录下,也就是将其转移出原来的路径,然后再执行java -version提示

“系统找不到文件c:\programdata\oracle\Java\javapath\java.exe”,原来问题出在这个目录下;

经过排查发现,这个目录是个隐藏目录,可以通过命令提示符窗口进入

3,经过排查发现,原来C:\ProgramData\Oracle\Java\javapath目录下是有3个链接文件;分别指向

D:\Program Files (x64)\java\jre1.8.0_91\bin\java.exe

D:\Program Files (x64)\java\jre1.8.0_91\bin\javaw.exe

D:\Program Files (x64)\java\jre1.8.0_91\bin\javaws.exe

然后我将三个链接文件删除,

注意:

(1)必须先删除这三个链接文件然后才可以创建;

(2)下面命令执行的时候,当下的工作目录是:

C:\ProgramData\Oracle\Java\javapath

创建链接文件:

在命令提示符窗口中依次执行以下命令:

mklink java.exe "D:\Program Files (x64)\java\jre7\bin\java.exe"

mklink java.exe "D:\Program Files (x64)\java\jre7\bin\javaw.exe"

mklink java.exe "D:\Program Files (x64)\java\jre7\bin\javaws.exe",

4,创建好之后,再执行java -version命令提示:

"Error: Registry key ‘Software\JavaSoft\Java Runtime Environment‘\CurrentVersion‘

has value ‘1.8‘, but ‘1.7‘ is required.

Error: could not find java.dll

Error: Could not find Java SE Runtime Environment.”

显然这里是注册表的问题,只需要修改CurrentVersion键的值就可以了:

打开注册表编辑器:在开始的“运行”输入regedit命令,回车

让后一层层往下找:最终选中Java Runtime Environment

HKEY_LOCAL_MACHINE--->SOFTWARE--->JavaSoft--->Java Runtime Environment

这里可以看到,右边窗口中的名称一列有个CurrentVersion,双击CurrentVersion,进入编辑窗口;

修改好之后点击“确定”即可。

到此再回到命令提示符窗口,输入java -version命令,一切正常;

5,但是后来又打开了命令提示符窗口,输入java命令报错如下:

确认javapath目录下的链接文件没有问题,JAVA_HOME=D:\Program Files (x64)\java\jdk1.7.0_79也没有问题,

后来想到自己之前把PATH变量里的C:\ProgramData\Oracle\Java\javapath;给删掉了,于是修改回来如下,问题得到解决,

最终的PATH为:

PATH=C:\ProgramData\Oracle\Java\javapath;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Program Files\VanDyke Software\Clients\;D:\Program Files\Git\cmd;D:\Program Files (x64)\apache-maven-3.3.9\bin;D:\Program Files (x64)\nodejs\;D:\Program Files\OpenVPN\bin;

最终执行命令java -version结果如下,正常。

本文是自己现实中遇到的问题做了记录,供大家分享,如有不对之处,请指正;

时间: 2024-11-29 07:11:09

安装多版本的JDK出现问题及解决办法的相关文章

20170514002Oracle 11g R2安装过程中遇到的报错及解决办法

Oracle 11g R2安装过程中遇到的报错及解决办法 1.提示Check if the DISPLAYvariable is set.    Failed<<<< 解决方案: #xhost +  //切换到root用户输入 #su – Oracle  //切换到oracle用户 $./runInstaller  //执行安装程序 xhost 是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时, 做为应用程序来说,hostA

安装genymotion后出现无法创建虚拟设备的解决办法

安装genymotion后出现无法创建虚拟设备的解决办法 如果你安装系统的用户名中含有中文,而且使用到上篇文章所说的方法安装VirtualBox后,当你正确安装genymotion后创建虚拟机时如果出现Unable to create virtual device.Failed to attach disk.这种提示信息,原因是因为你部署虚拟设备的路径中还有中文,解决办法如下: 1.打开genymotion,找到Settings选项,然后点击进入如下界面: 2.点击VirtualBox选项,会发

WIN7下安装visualC++2008 redistributable 出现1935错误的解决办法(转自)

转自:http://zhidao.baidu.com/link?url=jylNh_JeANi4wrOMmd4d2i06e_N3QCw7z6BLGiNNNTu1Hc6ADTkUq2PORExKmjtkehr-KMRPaQdBaxhnr91hPa WIN7下安装visualC++2008 redistributable 出现1935错误的解决办法 试了很多种方法都无法解决 caesarblbj | 浏览 5291 次 2013-09-05 21:54 2015-09-22 14:53 最佳答案 W

windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法

windows安装MongoDB 首先去官网(https://www.mongodb.com/download-center?jmp=nav#community),下载一个mongodb Windows客户端. 我下载了两个一个是3.4.11版,一个是3.6.2. 本来是用mongodb配合springboot学习用,于是先选用最新版,但是安装时卡住,卡在了Compass 解决办法: 1.等待半小时,或者更久.(http://blog.csdn.net/only_yu_yy/article/de

python安装扩展”unable to find vcvarsall.bat“的解决办法

产生原因: python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010. python2.7用的是msvs2008编译的,所以python2.7默认只能认出msvs2008. 方法一:安装mingw(不推荐) 下载mingw环境,添加环境变量 或者使用 python setup.py build –compiler=mingw32   方法二:安装对应版本的msvs python2安装msvs2008,python3安装msvs2010.   方法三:设置

RAD Studio 10 安装失败 提示错误 License status check failure解决办法

最近在安装RAD Studio 10.1 Berlin 时,运行光盘中的setup.exe,在第一页勾选 lincense agreement后下一步,提示如下错误,无法进行安装. License status check failure License status check failure (Error code: 255). Please try again later, or contact support. 通过一番搜索和尝试得到以下解决办法: 问题原因: 由于电脑中已经安装过其他版

编译安装apache2.4.18遇到的问题以及解决办法

linux安装应用软件时,我们总能遇到千奇百怪的问题,今天小编我就结合自己安装apache遇到的问题以及解决办法做一个汇总,希望能帮到那些卡在安装Apache的同学. 根据官方文档要求,在编译安装mysql的同时,我们也要解决apache所需依赖包的问题. 所以我们要安装一下环境:APR.APR-Util.PCRE,gcc-c++等包,官方2.4.X安装说明:http://httpd.apache.org/docs/2.4/install.html APR&APR-Util包下载地址:http:

eclipse + python + pydev (Pydev安装成功确看不到插件的解决办法)

1. pydev下载地址: https://sourceforge.net/projects/pydev/files/pydev/ 2.解决pydev安装后找不到的解决办法, 参考: http://wenhai.iteye.com/blog/2080356 问题: 环境: Platform: Ubuntu 14.04 64bit;  Eclipse:  Mars.2 Release (4.5.2); Python 2.7.6 1) 使用在线安装"http://pydev.org/updates&

yum安装源是出现报冲突错误,解决办法

起因,是打算在linux6.5服务器上安装 dell的osma 管理工具 在安装先决包时出现错误 报错如下: yum install libcmpiCppImpl0已加载插件:aliases, changelog, downloadonly, kabi, presto, refresh-packagekit, security, tmprepo, verify, versionlockLoading support for kernel ABI设置安装进程解决依赖关系--> 执行事务检查--->