如何在其他Java版本的机器上安装Java 8
我在其他几个版本的机器上安装了Java 8(jdk-8u60-windows-x64.exe)。
安装后,我看到以下消息
d:\Userprofiles\user>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.
我可以将JAVA_HOME
更改为新位置,但这不能解决上述问题。
当我编辑注册表并将几个注册表项中的1.8
更改为1.7
我再次有一个工作配置。 但这仍然是1.7.
改变JAVA_HOME
似乎没有任何效果。 当我将其更改为我新安装的JDK时
d:\Userprofiles\user>java -version java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode) d:\Userprofiles\user>echo %JAVA_HOME% D:\Program Files\Java\jdk1.8.0_60
如何在我的机器上运行1.8,我需要做什么? JAVA_HOME
现在似乎已经过时了,我应该更改注册表吗? 我应该怎么做才能更改注册表以便获得1.8版本?
仅引入%JAVA_HOME%
的值是不够的(实际上,Java并不关心是否存在这样的环境变量)。
您要做的是将%JAVA_HOME%/bin
目录附加到Path
环境变量,以便获得与%JAVA_HOME%
版本匹配的java.exe
,而无需写入java.exe
可执行文件的完整路径你想要触发。
所以,要么这样做:
- 为
%JAVA_HOME%
环境变量设置一个值 - 将
%JAVA_HOME%/bin
附加到Path
环境变量
要不就
- 将
附加到/bin Path
变量。
就个人而言,我更愿意维护JAVA_HOME
的值,因为Maven,Hadoop等工具需要它。
您可以根据需要安装尽可能多的JDK,甚至在PATH中也不需要它们,或者设置JAVA_HOME。
在PATH中找到的第一个将是默认的。 请记住只安装JDK,而不是JDK随附的JRE,即在安装时取消选择第3个选项。
我安装了9个 JDK,我可以在不改变任何内容的情况下运行所有这些JDK。 您所要做的就是限定可执行文件:
C:\>prog\java32\jdk1.4.2_19\bin\java.exe -version java version "1.4.2_19" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_19-b04) Java HotSpot(TM) Client VM (build 1.4.2_19-b04, mixed mode) C:\>prog\java32\jdk1.5.0_22\bin\java.exe -version java version "1.5.0_22" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode) C:\>prog\java32\jdk1.6.0_45\bin\java.exe -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing) C:\>prog\java32\jdk1.7.0_79\bin\java.exe -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing) C:\>prog\java32\jdk1.8.0_51\bin\java.exe -version java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode, sharing) C:\>prog\java64\jdk1.5.0_22\bin\java.exe -version java version "1.5.0_22" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03) Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode) C:\>prog\java64\jdk1.6.0_45\bin\java.exe -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) C:\>prog\java64\jdk1.7.0_79\bin\java.exe -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) C:\>prog\java64\jdk1.8.0_51\bin\java.exe -version java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
这是单个命令提示符中的输出,没有设置PATH。