Windows中的JRE安装目录

是否有任何命令检查活动(因为机器可以安装多个JRE)JRE安装目录在Windows下。 对于linux,相应的命令是

which java 

有没有Windows等价?

where java为我工作列出所有java exe但java -verbose告诉你使用了哪个rt.jar ,因此jre(完整路径):

 [Opened C:\Program Files\Java\jre6\lib\rt.jar] ... 

编辑:win7和java:

 java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) 

不作为命令,但此信息在注册表中:

  • 打开密钥HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
  • 阅读CurrentVersion REG_SZ
  • 在使用CurrentVersion值命名的Java Runtime Environment下打开子项
  • 阅读JavaHome REG_SZ以获取路径

例如,我的工作站上有

 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment CurrentVersion = "1.6" HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.5 JavaHome = "C:\Program Files\Java\jre1.5.0_20" HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6 JavaHome = "C:\Program Files\Java\jre6" 

所以我当前的JRE在C:\Program Files\Java\jre6

继我的其他评论之后,这是一个批处理文件,它根据注册表值显示当前的JRE或JDK。

它与安装java的实例中的其他解决方案不同,但不在PATH

 @ECHO off SET KIT=JavaSoft\Java Runtime Environment call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion" IF "%VER%" NEQ "" GOTO FoundJRE SET KIT=Wow6432Node\JavaSoft\Java Runtime Environment call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion" IF "%VER%" NEQ "" GOTO FoundJRE SET KIT=JavaSoft\Java Development Kit call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion" IF "%VER%" NEQ "" GOTO FoundJRE SET KIT=Wow6432Node\JavaSoft\Java Development Kit call:ReadRegValue VER "HKLM\Software\%KIT%" "CurrentVersion" IF "%VER%" NEQ "" GOTO FoundJRE ECHO Failed to find Java GOTO :EOF :FoundJRE call:ReadRegValue JAVAPATH "HKLM\Software\%KIT%\%VER%" "JavaHome" ECHO %JAVAPATH% GOTO :EOF :ReadRegValue SET key=%2% SET name=%3% SET "%~1=" SET reg=reg IF DEFINED ProgramFiles(x86) ( IF EXIST %WINDIR%\sysnative\reg.exe SET reg=%WINDIR%\sysnative\reg.exe ) FOR /F "usebackq tokens=3* skip=1" %%A IN (`%reg% QUERY %key% /v %name% 2^>NUL`) DO SET "%~1=%%A %%B" GOTO :EOF 

在这里查看我之前的问题的答案

 c:\> for %i in (java.exe) do @echo. %~$PATH:i C:\WINDOWS\system32\java.exe 

在命令行中,您可以键入java -version