Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置默认的Java安装/运行时(Windows)?_Java_Windows_Installation_Runtime - Fatal编程技术网

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

如何设置默认的Java安装/运行时(Windows)?,java,windows,installation,runtime,Java,Windows,Installation,Runtime,我已经安装了JDK,但无法在浏览器中运行小程序(我可能没有安装JRE) 然而,当我安装JRE时,它会将我的JDK作为默认运行时。这几乎破坏了一切(Eclipse、Ant),因为它们需要一个服务器JVM 现在没有JAVA\u HOME环境变量了——它似乎使用了一些注册表魔法(设置系统路径也没有用)。之前,我只是在使用JRE恢复JDK后卸载了它。这次我想把它修好 jre自动更新程序也体现了这一点——很久以前,我有一个JDK和jre的工作设置,但它更新并破坏了一切。这对Windows来说有点痛苦。我就

我已经安装了JDK,但无法在浏览器中运行小程序(我可能没有安装JRE)

然而,当我安装JRE时,它会将我的JDK作为默认运行时。这几乎破坏了一切(Eclipse、Ant),因为它们需要一个服务器JVM

现在没有
JAVA\u HOME
环境变量了——它似乎使用了一些注册表魔法(设置系统路径也没有用)。之前,我只是在使用JRE恢复JDK后卸载了它。这次我想把它修好


jre自动更新程序也体现了这一点——很久以前,我有一个JDK和jre的工作设置,但它更新并破坏了一切。

这对Windows来说有点痛苦。我就是这么做的

在类似
c:\Install\JDK\Sun\6u11
的路径中安装最新的Sun JDK,例如6u11,然后让安装程序在默认位置安装公共JRE(
c:\program files\blah
)。这将为大多数事情设置默认的JRE

根据需要安装较旧的jdk,如
c:\Install\jdk\sun\5u18
中的5u18,但不要安装公共jre

在开发中,我有一个小批处理文件,用于为每个JDK版本设置命令提示符。基本上只需设置所需的
JAVA\u HOME=c:\jdk\sun\jdk\u
,然后设置
PATH=%JAVA\u HOME%\bin;%路径%
。这将把所需的JDK放在路径的第一位,任何辅助工具(如Ant或Maven)都可以使用
JAVA_HOME
变量

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

我在
c:\java
中安装了几个JDK(1.4、1.5、1.6)及其JRE。然后我让Sun在
C:\Program Files\Java
中更新公共JRE

最近有一个改进,安装在jre6中。以前,每个新版本(1.5.0_4、1.5.0_5等)都有一个不同的文件夹,占用了大量空间

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

如上所述

这只是一个补丁,因为它依赖于修复问题的快捷方式


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

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

基本上,它包括在
c:\tools\java\default
和要在系统中用作默认值的实际java版本之间建立链接


如何设置它:
  • 下载并确保将其放在您的路径中 环境变量
  • 按以下方式设置您的环境: -
    PATH
    仅指向此jre
    c:\tools\java\default\bin
    -
    JAVA\u HOME
    指向'c:\tools\JAVA\default'
  • 将所有jre-s存储在一个文件夹中,如(如果在Program FIles文件夹中这样做,可能会遇到一些问题)
    • C:\tools\Java\JRE_1.6
    • C:\tools\Java\JRE_1.7
    • C:\tools\Java\JRE_1.8
  • 打开一个命令提示符并将cd刻录到
    C:\tools\Java\
  • 执行
    junction default JRE_1.6
  • 这将在
    C:\tools\java\default
    C:\tools\java\JRE\u 1.6
    之间创建一个(或多或少类似于linux中的符号链接)

    这样,您将始终在
    c:\tools\java\default
    中使用默认java

    如果需要将默认java更改为1.8版本,只需执行

    junction -d default
    junction default JRE_1.8 
    
    然后,您可以让批处理文件在没有命令提示的情况下执行此操作,如
    set_jdk8.bat
    set_jdk7.bat

    根据@СӏаџԁаМаіа


    编辑:在windows vista中,您可以使用默认的JRE_1.8,我只需安装我需要的所有JDK版本,最新安装的版本将成为默认版本,因此如果需要,我只需重新安装我想要的默认版本。

    我刚刚遇到了这个问题(windows 7上的Java 1.8与Java 9),我的发现是:

    短版

    默认值似乎是(因为路径条目)

    选择您想要的版本(测试,使用cmd中的制表符,不确定这些数字代表什么),我有2个选项,详细信息请参阅较长的版本

    c:\ProgramData\Oracle\Java\javapath_target_[tab]
    
    删除连接/链接并链接到您的版本(在我的Java 8示例中,以181743567结尾的版本)

    较长版本:

    在Java 9不起作用后重新安装Java 1.8。安装顺序为jdk1.8.0_74、jdk-9.0.4,并尝试使用jdk1.8.0_162将Java 8设为默认值

    在jdk1.8.0_162安装之后,我仍然有

    java-version
    java版本“9.0.4”
    Java(TM)SE运行时环境(构建9.0.4+11)
    Java HotSpot(TM)64位服务器虚拟机(构建9.0.4+11,混合模式)
    
    我在路径中看到的是

    Path=…;C:\ProgramData\Oracle\Java\javapath;。。。
    
    所以我检查了那是什么,我发现它是一个连接点(链接)

    c:\ProgramData\Oracle\Java>dir
    驱动器C中的卷是OSDisk
    卷序列号为DA2F-C2CC
    c:\ProgramData\Oracle\Java目录
    2018-02-07  17:06              .
    2018-02-07  17:06              ..
    2018-02-08 17:08.甲骨文的使用
    2017-08-22 11:04安装缓存
    2018-02-08 17:08 installcache_x64
    2018-02-07 17:06 javapath[C:\ProgramData\Oracle\Java\javapath\u target\u 185258831]
    2018-02-07 17:06 javapath_target_181743567
    2018-02-07 17:06 javapath_target_185258831
    
    那些杂凑不起作用,但是当我检查的时候

    c:\ProgramData\Oracle\Java\javapath\u target\u 181743567>\Java-version
    java版本“1.8.0_162”
    Java(TM)SE运行时环境
    
    junction -d default
    junction default JRE_1.8 
    
    c:\ProgramData\Oracle\Java\javapath\java -version
    
    c:\ProgramData\Oracle\Java\javapath_target_[tab]
    
    rmdir javapath
    mklink /D javapath javapath_target_181743567
    
    "C:\Program Files\Java\jre1.8.0_181\bin\java.exe" -jar JabRef-4.3.1.jar