发布网友 发布时间:2022-05-12 07:47
共1个回答
热心网友 时间:2024-02-19 23:04
摘要查询HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment得知CurrentVersion=1.4。 于是我手动将它修改为1.6后,然后运行java -version得到以下结果: Registry key 'Software\JavaSoft\Java Runtime Environment\ has value '1.6', but '1.4' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. 所以,不能简单的修改注册表的CurrentVersion值来达到更改运行的JRE。若人为的修改CurrentVersion,会使得不同版本的java.exe加载与己版本不符的java.dll及 jvm.dll,将引起难以预料的后果! 一般地,当在系统中装了两套或多套版本的Java2 SDK,后面安装的Java2 SDK会将自己带的java.exe和javaw.exe拷贝到%SystemRoot%\system32目录下,从而覆盖先前版本的java.exe和 javaw.exe,并且在注册表中改写CurrentVersion为后安装的版本。所以建议在安装Java2 SDK前,先卸载以前安装的版本。 咨询记录 · 回答于2021-08-17我电脑是64的为什么下了64的JDK不兼容,i586的也不兼容是什么情况马上为您整理回答您好,根据查询为您整理回答JDK版本不兼容问题之:一台机器安装多个版本的JDK我的机器上最开始安装的是jdk1.6,后来因为工作需要又安装了jdk1.4。但是,环境变量我并未更改,还是指向jdk1.6的路径的。 可是,在cmd窗口输入 java -version 却得到是1.4.2。 查询环境变量: 1.我的电脑->属性->高级->环境变量 2. 系统环境变量(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment) 当前用户环境变量(HKEY_CURRENT_USER\Environment) 2个设置完全是一样,都是指向1.6。 为了搞清楚问题的原因,通过查询相关的资料,原来是这样的: JDK在安装的过程当中将在注册表会生成如下3个项目: HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment 同时,JDK安装程序将会把java.exe,javaw.exe,javareg.exe这3个可执行文件拷贝到%SystemRoot%\system32目录下,由于%SystemRoot%\system32被操作系统缺省的设置为最高优先权的PATH搜索路径,因此可保证用户在命令行任何目录下可运行java.exe来启动JVM。 查询HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment得知CurrentVersion=1.4。 于是我手动将它修改为1.6后,然后运行java -version得到以下结果: Registry key 'Software\JavaSoft\Java Runtime Environment\ has value '1.6', but '1.4' is required. Error: could not find java.dll Error: could not find Java 2 Runtime Environment. 所以,不能简单的修改注册表的CurrentVersion值来达到更改运行的JRE。若人为的修改CurrentVersion,会使得不同版本的java.exe加载与己版本不符的java.dll及 jvm.dll,将引起难以预料的后果! 一般地,当在系统中装了两套或多套版本的Java2 SDK,后面安装的Java2 SDK会将自己带的java.exe和javaw.exe拷贝到%SystemRoot%\system32目录下,从而覆盖先前版本的java.exe和 javaw.exe,并且在注册表中改写CurrentVersion为后安装的版本。所以建议在安装Java2 SDK前,先卸载以前安装的版本。 下载一个32位的jdk.这个jdk-6u39-windows-i586.exe版本的jdk是64位的jdk,win32位的系统不兼容高版本的软件,win64位的系统既可以安装64位的软件,也可以安装32位的系统jdk是开发者包,如果你要编写java程序,系统是64位,请下载64位,jdk-7-windows-i586是32位的,如果你的浏览器上要使用java且浏览器是32位,那么你还需安装32位(安装32位jre包即可)希望以上回答对您有所帮助,谢谢