如何find在我的Windows机器上安装JDK的位置?

我需要知道JDK在我的机器上的位置。

cmd中运行Java -version ,它显示版本为“1.6.xx”。 要在我的机器上find这个SDK的位置,我尝试使用echo %JAVA_HOME%但它只显示'JAVA_HOME'(因为在我的环境variables中没有设置'JAVA_PATH'var)。

如果您使用Linux / Unix / Mac OS X:

尝试这个:

 $ which java 

应该输出确切的位置。

之后,您可以自己设置JAVA_HOME环境variables。

在我的电脑(Mac OS X – Snow Leopard)中:

 $ which java /usr/bin/java $ ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 Nov 7 07:59 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java 

如果您使用Windows:

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

Windows>开始> cmd>

 C:> for %i in (javac.exe) do @echo. %~$PATH:i 

如果您安装了JDK,则会显示path,
例如: C:\Program Files\Java\jdk1.6.0_30\bin\javac.exe

在Windows中,在命令提示符下

where javac

Java安装程序将几个文件放入%WinDir%\ System32文件夹(java.exe,javaws.exe等)。 当您在命令行中键入java.exe或创build没有完整path的进程时,如果在%PATH%文件夹中缺less这些文件,则Windows将这些作为最后的手段运行。

您可以查找registry中安装的所有Java版本。 在64位Windows上查看32位Java的HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment和HKLM \ SOFTWARE \ Wow6432Node \ JavaSoft \ Java Runtime Environment。

这是java自己发现安装不同版本的方式。 这就是为什么32位和64位版本可以共存,工作正常,没有干扰。

在Windows中,默认值是: C:\Program Files\Java\jdk1.6.0_14 (数字可能不同,因为它们是版本)。

在Windows平台上简单而简单:

哪里java

下面的批处理脚本将打印出现有的默认JRE。 通过用Java开发工具包replaceJava运行时环境 ,可以轻松修改它以查找安装的JDK版本。

 @echo off setlocal ::- Get the Java Version set KEY="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment" set VALUE=CurrentVersion reg query %KEY% /v %VALUE% 2>nul || ( echo JRE not installed exit /b 1 ) set JRE_VERSION= for /f "tokens=2,*" %%a in ('reg query %KEY% /v %VALUE% ^| findstr %VALUE%') do ( set JRE_VERSION=%%b ) echo JRE VERSION: %JRE_VERSION% ::- Get the JavaHome set KEY="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\%JRE_VERSION%" set VALUE=JavaHome reg query %KEY% /v %VALUE% 2>nul || ( echo JavaHome not installed exit /b 1 ) set JAVAHOME= for /f "tokens=2,*" %%a in ('reg query %KEY% /v %VALUE% ^| findstr %VALUE%') do ( set JAVAHOME=%%b ) echo JavaHome: %JAVAHOME% endlocal 

更多关于Windows …variablesjava.home并不总是与运行的二进制文件位置相同。

正如Denis所说,安装程序将Java文件放入程序文件 ,但也将java.exe放到System32中 。 没有什么Java相关的pathjava -version仍然可以工作。 但是,当运行PeterMmm的程序时,它将程序文件的值报告为java.home ,这并不是错误的(Java安装在那里),但是运行的实际二进制文件位于System32中

寻找java.exe二进制文件位置的一种方法是将下面一行添加到PeterMmm的代码中,以使程序运行一段时间:

 try{Thread.sleep(60000);}catch(Exception e) {} 

编译并运行它,然后searchjava.exe映像的位置。 例如,在Windows 7中打开任务pipe理器,findjava.exe条目,右键单击并select“打开文件位置”,这将打开Java二进制文件的确切位置。 在这种情况下,它将是System32

在Windows命令提示符下,input:

 set java_home 

或者,如果您不喜欢命令环境,则可以从以下位置进行检查:

开始菜单>计算机>系统属性>高级系统属性。 然后打开“高级”选项卡>“环境variables”,然后在系统variables中尝试查找JAVA_HOME。

在这里输入图像描述

从命令行运行这个程序:

 // File: Main.java public class Main { public static void main(String[] args) { System.out.println(System.getProperty("java.home")); } } $ javac Main.java $ java Main 

在Windows下,您可以使用

 C:>dir /b /s java.exe 

打印C:驱动器上每个“java.exe”的完整path,而不pipe它们是否在PATH环境variables上。

你有没有试过看你的%PATH%variables。 这是Windows用来查找任何可执行文件的内容。

只需在命令行中执行set命令。 然后你看到你设置的所有环境variables。

或者如果在Unix上,你可以简化它:

 $ set | grep "JAVA_HOME" 

这是操作系统特定的。 在Unix上:

 which java 

将显示可执行文件的path。 我不知道Windows的等价物,但是通常在系统PATH中有JDK安装的bin文件夹:

 echo %PATH% 

如果您正在寻找包含诸如bin,docs,include,jre,lib等子目录的home,那么这些答案都不适用于Linux。

在Ubuntu for openjdk1.8.0上,位于: /usr/lib/jvm/java-1.8.0-openjdk-amd64

而且您可能更喜欢将它用于JAVA_HOME因为如果您构buildJNI源文件,您将能够find标题。 虽然which java会提供二进制path,但并不是真正的JDK主页。

Powershell一个class轮:

 $p='HKLM:\SOFTWARE\JavaSoft\Java Development Kit'; $v=(gp $p).CurrentVersion; (gp $p/$v).JavaHome 

在Windows cmd中:

 set "JAVA_HOME" 
 #!/bin/bash if [[ $(which ${JAVA_HOME}/bin/java) ]]; then exe="${JAVA_HOME}/bin/java" elif [[ $(which java) ]]; then exe="java" else echo "Java environment is not detected." exit 1 fi ${exe} -version 

对于Windows:

 @echo off if "%JAVA_HOME%" == "" goto nojavahome echo Using JAVA_HOME : %JAVA_HOME% "%JAVA_HOME%/bin/java.exe" -version goto exit :nojavahome echo The JAVA_HOME environment variable is not defined correctly echo This environment variable is needed to run this program. goto exit :exit 

这个链接可能有助于解释如何从bash中findjava可执行文件: http : //srcode.org/2014/05/07/detect-java-executable/

在Windows 10上,您可以通过控制面板> Javafindpath。 在出现的面板中,您可以find如下截图所示的path。 在Java控制面板中,转至“Java”选项卡,然后单击“查看和pipe理Java应用程序和applet的Java运行时版本和设置”下的“查看”button。

这应该适用于Windows 7,也可能适用于其他最新版本的Windows。

在这里输入图像描述