如何在Windows上安装多个JDK?

24

我想在XP上安装JDK 1.5和1.6,是否可行?如何操作?

此外,我正在使用Eclipse,请问如何为不同的项目设置不同的JDK?

谢谢。


3
顺便说一下,这个过程在Windows 2000、XP、Vista和Windows 7上都是完全相同的,因此并不特定于XP。 - Stefan Thyberg
5个回答

27

您可以轻松安装不同的JDK:只需指定不同的文件夹。

您可以在Eclipse中设置已安装的JDK Window / Preferences / Installed JREs

您可以在项目/属性/Java编译器中为每个单独的项目选择JDK和Java版本。


5
不,Sun Java 只会看到你安装的最新版本。另外,你可以安装、复制目录,然后卸载。Java 不需要注册表键就可以工作。只要设置好 JAVA_HOME,它就可以正常工作。 - Aaron Digulla
请注意:Oracle的安装程序默认会覆盖JRE文件夹。例如,对于Java 6,它会提示您更改默认的“Java/jre6”文件夹,但这会使设置变得复杂。有趣的是,Oracle的安装程序默认支持不同的JDK子文件夹(例如jdk1.6.0_37、jdk1.6.0_45),但只支持一个JRE子文件夹。 - Withheld
不要忘记,如果您要从控制台运行Java程序,您还需要设置PATH。请确保只有一个Java二进制文件设置在PATH上。 - NomadMaker

12

我通过创建不同Java版本的批处理文件来解决了这个问题。

  1. 我安装了我需要的Java版本。
  2. 每当我需要使用Java时,我运行相应的批处理文件并设置环境变量以使用该Java版本。

Java 8.bat

@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_121
echo setting PATH
set PATH=%JAVA_HOME%\bin;%PATH%
echo Display java version
java -version

Java 10.bat

Java 10.bat

@echo off
echo Setting JAVA_HOME
set JAVA_HOME=C:\Program Files\Java\jdk-10.0.2
echo setting PATH
set PATH=%JAVA_HOME%\bin;%PATH%
echo Display java version
java -version

1
为什么?有一个选项(记不清在哪里了-右键单击您的项目),允许您设置目标JDK级别。我在开发GWT应用程序时使用它。

唯一的细微差别在于,在一些情况下,随着引入新方法和类接口的更改,Java API 将有所不同。幸运的是,README "4. 运行Eclipse" 中介绍了如何选择JDK。 - Daniel

1
尝试使用sdkman。虽然在Windows上安装有点“棘手”,但有几个选项可供选择。

https://sdkman.io/install


0
在Java创建时(90年代)就存在着不同不兼容的JDK和JRE之间的混乱,至今这个问题仍然存在。 主要规则是当你在控制台中输入以下命令: java -version 和 javac -version 结果应该相同,这样你就可以确保JRE和JDK(JSDK)是兼容的,因此编译后可以无问题运行。 JAVA_HOME和PATH对于许多控制台应用程序是必需的,并且一些GUI工具也可能使用这些变量,但通常可以在GUI应用程序中更改默认设置,而不必混淆环境变量。 CLASSPATH有时仍然会被使用,但最好使用ANT作为编译器,而不是直接使用javac。 您可以安装多个JDK和JRE,但每个都应该拥有自己独立的文件夹,通常默认情况下应该可以了。 值得一提的是,每个JDK都包含JRE并且安装在单独的文件夹中,并作为单独的应用出现在Windows控制面板->应用程序中,更加令人困惑,因此开发人员永远不必下载和安装JRE。不要使用可能导致更新后某些应用程序无法工作的Java更新应用程序,只需手动更新即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接