Car*_*icz 75
对于Java 应用程序,即(通常)作为.jar
文件传递的程序,以及java -jar xxx.jar
通过执行相同操作的快捷方式启动的程序,将要启动的JRE将是第一个发现的程序PATH
.
如果您安装了JRE或JDK,那么找到.exe
s 的可能位置就在下面的目录下面 C:\Program Files\JavaSoft\JRE\x.y.z
.不过,我发现了一些"开箱即用" Windows安装到(也?)有复印件java.exe
和javaw.exe
在C:\winnt\system32
(NT和2000)或C:\windows\system
(Windows 95中,98).这通常是Java的老版本:1.3,也许吧?您需要java -version
在命令窗口中检查您是否运行了一些过时的Java版本.
您当然可以通过在命令行或快捷方式定义中明确声明java.exe/javaw.exe的路径来覆盖PATH设置,甚至可以不使用它.
如果您正在从浏览器运行applet,或者也可能运行Java Web Start应用程序(它们看起来像应用程序,因为它们有自己的窗口,但是您从浏览器启动它们),JRE的选择由一组注册表决定设置:
Key: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
Name: CurrentVersion
Value: (e.g.) 1.3
Run Code Online (Sandbox Code Playgroud)
使用此方案创建更多注册表项:
(e.g.)
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3
HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\1.3.1
Run Code Online (Sandbox Code Playgroud)
即一个用于主要版本,一个用于次要版本号.这些键中的每一个都具有这些值(示例所示):
JavaHome : C:\program Files\JavaSoft\JRE\1.3.1
RuntimeLib : C:\Program Files\JavaSoft\JRE\1.3.1\bin\hotspot\jvm.dll
MicroVersion: 1
Run Code Online (Sandbox Code Playgroud)
...并且您的浏览器将查看这些设置以确定要启动的JRE.
由于Java版本经常发生变化,现在有一个名为"Java控制面板"的"向导",用于手动切换浏览器的Java版本.这适用于IE,Firefox以及其他可能的Opera和Chrome:它是Windows System Settings
应用程序中的"Java"小程序.您可以选择任何一个已安装的JRE.我相信该向导会摆弄这些注册表项.
如果你像我一样,只需擦除目录就可以"卸载"旧Java版本,你也可以在选择中找到这些"幽灵"; 所以请确保您选择的JRE对应于完整的Java安装!
其他一些答案建议设置环境变量JAVA_HOME
.这是同时过时的建议.Sun围绕Java 2认识到这种环境设置
几乎没有任何现代Java软件需要或尊重JAVA_HOME
环境变量.
更多信息:
...以及有关多版本支持的一些有用信息:
Mia*_*Mia 58
我习惯于在类UNIX机器上工作,但最近我不得不在Windows 7机器上使用Java做一些工作.我遇到了这个问题,这就是我解决了它.它对我有用,所以我希望它可以用于将来可能遇到这个问题的人.
考虑到驱动器C上的默认Java安装,会暴露这些步骤.如果您的安装不是默认安装,则应更改必要的内容.
假设我们已经安装了Java 8,但出于任何原因我们想要保留Java 7.
1-以管理员身份启动cmd
2-转到 C:\ProgramData\Oracle\Java
3-将当前目录javapath重命名为javapath_ <version_it_refers_to>.例如:rename javapath javapath_1.8
4-创建javapath_ <version_you_want_by_default>目录.例如:mkdir javapath_1.7
5- cd进入它并创建以下链接:
cd javapath_1.7
mklink java.exe "C:\Program Files\Java\jre7\bin\java.exe"
mklink javaw.exe "C:\Program Files\Java\jre7\bin\javaw.exe"
mklink javaws.exe "C:\Program Files\Java\jre7\bin\javaws.exe"
Run Code Online (Sandbox Code Playgroud)
6-光盘拿出来,并创建一个目录链接javapath指向期望javapath.例如:mklink /D javapath javapath_1.7
7-打开寄存器并将密钥HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion更改为值1.7
此时如果执行,java -version
您应该看到您使用的是java版本1.7:
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
8-最后创建环境变量JAVA_HOME是个好主意.为此,我在C:\ Program Files\Java中创建一个名为CurrentVersion的目录链接,指向我感兴趣的Java版本.例如:
cd C:\Program Files\Java\
mklink /D CurrentVersion .\jdk1.7.0_71
Run Code Online (Sandbox Code Playgroud)
9-一旦完成:
Jul*_*les 25
从Java 1.6开始,在%windir%\ system32中安装了一个java.exe,它支持"-version"命令行选项.您可以使用它来选择要运行的特定版本,例如:
java -version:1.7 -jar [path to jar file]
Run Code Online (Sandbox Code Playgroud)
将在java 1.7中运行jar应用程序(如果已安装).
请参阅此处的Oracle文档:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html
我按照浏览器的建议将Java版本更新为8.但是我选择卸载之前用于编码项目的Java 6版本.当我在cmd中的"java -version"中输入命令时 它显示1.8并且我无法启动在Java 1.6上运行的eclipse IDE.
当我为浏览器安装Java 8更新时,它已将"PATH"系统变量更改为"C:\ ProgramData\Oracle\Java\javapath",并将其更改为开头.新添加的路径指向Java vesion 8.所以我从"PATH"系统变量中删除了该路径,一切正常.:)
归档时间: |
|
查看次数: |
241642 次 |
最近记录: |