如何设置默认的Java安装/运行时(Windows)?

我在安装JDK的情况下,但我不能在浏览器中运行小程序(我可能没有安装JRE)。

但是,当我安装JRE时,它会将JDK作为默认运行时进行破坏。 这几乎打破了一切(日食,ant) – 因为他们需要一个服务器的JVM。

目前没有JAVA_HOME系统属性 – 它似乎使用了一些registry魔术(设置系统path也是没有用的)。 以前,我已经使用它来恢复JDK之后卸载了JRE。 这一次我想正确地解决它。

这也体现在jre autoupdater上 – 曾几何时,我用JDK和JRE做了一个工作设置,但它更新了所有的东西。

这在Windows上有点痛苦。 这是我所做的。

在像c:\install\jdk\sun\6u11这样的path下安装最新的Sun JDK,例如6u11 ,然后让安装程序在默认位置( c:\program files\blah )安装公共JRE。 这将为大多数事情设置默认的JRE。

根据需要安装较旧的JDK,如c:\install\jdk\sun\5u18 ,但不要安装公共JRE。

在开发过程中,我有一个batch file,用于为每个JDK版本设置命令提示符。 基本上只需设置JAVA_HOME=c:\jdk\sun\JDK_DESIRED ,然后设置PATH=%JAVA_HOME%\bin;%PATH% 。 这将首先将所需的JDK放在path中,并且任何辅助工具(如Ant或Maven)都可以使用JAVA_HOMEvariables。

path很重要,因为大多数公共JRE安装都会在c:\WINDOWS\System32\java.exe放置一个链接的可执行文件,这通常会覆盖大多数其他设置。

我在属性对话中修补了我的eclipse启动快捷方式的行为

 "E:\Program Files\eclipse\eclipse.exe" 

 "E:\Program Files\eclipse\eclipse.exe" -vm "E:\Program Files\Java\jdk1.6.0_30\bin" 

如Eclipse文档中所述

这只是一个补丁,因为它取决于修复事物的捷径。

另一种方法是在eclipse初始化文件中永久地设置参数。

我有几个JDK(1.4,1.5,1.6)安装在C:\ Java与他们的JRE。 然后让Sun更新C:\ Program Files \ Java中的公共JRE最近有一个改进,安装在jre6中。 以前,每个新版本(1.5.0_4,1.5.0_5等)都有一个不同的文件夹,占用了很多空间

经过多次尝试,我发现交汇点的方法更方便。 这在linux中如何解决这个问题非常相似。

基本上它包含了一个c:\tools\java\default和你想在系统中默认使用的java的实际版本之间的链接


如何设置:

  1. 下载连接并确保将其放入PATH环境variables中
  2. 以这种方式设置您的环境: – 指向这个jre的PATH c:\tools\java\default\bin – 指向c:\ tools \ java \ default的JAVA_HOME
  3. 将所有jre-s存储在一个文件夹中(如果您在Program FIles文件夹中执行此操作,则可能会遇到一些问题
    • C:\tools\Java\JRE_1.6
    • C:\tools\Java\JRE_1.7
    • C:\tools\Java\JRE_1.8
  4. 打开命令提示符并cd到C:\tools\Java\
  5. 执行junction default JRE_1.6

这将在C:\tools\java\defaultC:\tools\java\JRE_1.6之间创build一个交叉点 (或多或less像linux中的符号链接)

通过这种方式,您将始终在c:\tools\java\default拥有默认的java。

如果你需要改变你的默认Java到1.8版本,你只需要执行

 junction -d default junction default JRE_1.8 

然后你可以使用batch file来做到这一点,而不需要像set_jdk8.bat set_jdk7.bat这样的命令提示符

正如@СӏаџԁеМаятіи所build议的那样

编辑:从Windows Vista中,您可以使用mklink /J default JRE_1.8