如何设置默认的Java安装/运行时(Windows)?
我已经安装了JDK,但无法在浏览器中运行小程序(我可能没有安装JRE) 然而,当我安装JRE时,它会将我的JDK作为默认运行时。这几乎破坏了一切(Eclipse、Ant),因为它们需要一个服务器JVM 现在没有如何设置默认的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来说有点痛苦。我就
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
仅指向此jrec:\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