verificar tengo saber que por instalar instalado esta donde consola comprobar como abrir java windows

tengo - donde esta instalado java



¿Cómo encuentro dónde está instalado JDK en mi máquina con Windows? (21)

Necesito saber dónde se encuentra JDK en mi máquina.

Al ejecutar Java -version en cmd , muestra la versión como ''1.6.xx''. Para encontrar la ubicación de este SDK en mi máquina, intenté usar echo %JAVA_HOME% pero solo muestra ''JAVA_HOME'' (ya que no hay ninguna variable ''JAVA_PATH'' en mis variables de entorno).


¿Has intentado mirar tu variable% PATH%? Eso es lo que usa Windows para encontrar cualquier ejecutable.


Bajo Windows, puedes usar

C:>dir /b /s java.exe

para imprimir la ruta completa de todos y cada uno de los "java.exe" en su unidad C: sin importar si están en su variable de entorno PATH.


Ejecute este programa desde la línea de comandos:

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


El instalador de Java coloca varios archivos en la carpeta% WinDir% / System32 (java.exe, javaws.exe y algunos otros). Cuando escribe java.exe en la línea de comandos o crea un proceso sin una ruta completa, Windows los ejecuta como último recurso si faltan en las carpetas% PATH%.

Puede buscar todas las versiones de Java instaladas en el registro. Eche un vistazo a HKLM / SOFTWARE / JavaSoft / Java Runtime Environment y HKLM / SOFTWARE / Wow6432Node / JavaSoft / Java Runtime Environment para Java de 32 bits en Windows de 64 bits.

Así es como el propio Java encuentra diferentes versiones instaladas. Y es por eso que tanto la versión de 32 bits como la de 64 bits pueden coexistir y funcionan bien sin interferir.


El siguiente script por lotes imprimirá el JRE predeterminado existente. Se puede modificar fácilmente para encontrar la versión de JDK instalada reemplazando Java Runtime Environment con Java Development Kit .

@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


En Windows 10 puede encontrar la ruta en Panel de control> Java. En el panel que aparece, puede encontrar la ruta como se muestra en la captura de pantalla a continuación. En el Panel de control de Java, vaya a la pestaña ''Java'' y luego haga clic en el botón ''Ver'' en la descripción ''Ver y administrar las versiones y configuraciones de Java Runtime para aplicaciones y applets de Java''.

Esto debería funcionar en Windows 7 y posiblemente en otras versiones recientes de Windows.


En Windows en el símbolo del sistema

where javac


En Windows, el valor predeterminado es: C:/Program Files/Java/jdk1.6.0_14 (donde los números pueden diferir, ya que son la versión).


En macOS, ejecute:

cd /tmp && echo ''public class Main {public static void main(String[] args) {System.out.println(System.getProperty("java.home"));}}'' > Main.java && javac Main.java && java Main

En mi máquina, esto imprime:

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home

Tenga en cuenta que ejecutar which java no muestra la ubicación de JDK, porque el comando java es parte de JavaVM.framework , que envuelve el JDK real:

$ which java /usr/bin/java /private/tmp $ ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 14 Nov 17:37 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java


En un símbolo del sistema de Windows, simplemente escriba:

set java_home

O, si no te gusta el entorno de comando, puedes verificarlo desde:

Menú Inicio> Computadora> Propiedades del sistema> Propiedades avanzadas del sistema. Luego abra la pestaña Avanzado> Variables de entorno y en la variable del sistema intente encontrar JAVA_HOME.


Esto es específico del sistema operativo. En Unix:

which java

mostrará la ruta al ejecutable. No conozco un equivalente de Windows, pero normalmente tiene la carpeta bin de la instalación de JDK en el sistema PATH :

echo %PATH%


He mejorado la respuesta de share anterior al probar la clave de registro en registros de 64 y 32 bits, si es necesario:

::- Test for the registry location SET VALUE=CurrentVersion SET KEY_1="HKLM/SOFTWARE/JavaSoft/Java Development Kit" SET KEY_2=HKLM/SOFTWARE/JavaSoft/JDK SET REG_1=reg.exe SET REG_2="C:/Windows/sysnative/reg.exe" SET REG_3="C:/Windows/syswow64/reg.exe" SET KEY=%KEY_1% SET REG=%REG_1% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value SET KEY=%KEY_2% SET REG=%REG_1% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value ::- %REG_2% is for 64-bit installations, using "C:/Windows/sysnative" SET KEY=%KEY_1% SET REG=%REG_2% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value SET KEY=%KEY_2% SET REG=%REG_2% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value ::- %REG_3% is for 32-bit installations on a 64-bit system, using "C:/Windows/syswow64" SET KEY=%KEY_1% SET REG=%REG_3% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value SET KEY=%KEY_2% SET REG=%REG_3% %REG% QUERY %KEY% /v %VALUE% 2>nul IF %ERRORLEVEL% EQU 0 GOTO _set_value :_set_value FOR /F "tokens=2,*" %%a IN (''%REG% QUERY %KEY% /v %VALUE%'') DO ( SET JDK_VERSION=%%b ) SET KEY=%KEY%/%JDK_VERSION% SET VALUE=JavaHome FOR /F "tokens=2,*" %%a IN (''%REG% QUERY %KEY% /v %VALUE%'') DO ( SET JAVAHOME=%%b ) ECHO "%JAVAHOME%" ::- SETX JAVA_HOME "%JAVAHOME%"

Referencia para acceder al registro de 64 bits.


Más en Windows ... la variable java.home no siempre es la misma ubicación que el binario que se ejecuta.

Como dice Denis The Menace, el instalador coloca archivos Java en Archivos de programa , pero también java.exe en System32 . Sin nada relacionado con Java en la ruta java -version todavía puede funcionar. Sin embargo, cuando se ejecuta el programa de PeterMmm, informa del valor de los Archivos de programa como java.home , esto no es incorrecto (Java está instalado allí) pero el binario real que se está ejecutando se encuentra en System32 .

Una forma de buscar la ubicación del binario java.exe , agregue la siguiente línea al código de PeterMmm para que el programa siga funcionando un poco más:

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

Compile y ejecútelo, luego busque la ubicación de la imagen java.exe . Por ejemplo, en Windows 7, abra el administrador de tareas, busque la entrada java.exe , haga clic con el botón derecho y seleccione ''abrir ubicación de archivo'', esto abre la ubicación exacta del binario de Java. En este caso sería System32 .


Ninguna de estas respuestas es correcta para Linux si está buscando un hogar que incluya los subdirectorios como: bin, docs, include, jre, lib, etc.

En Ubuntu para openjdk1.8.0, esto está en: /usr/lib/jvm/java-1.8.0-openjdk-amd64

y es posible que prefieras usarlo para JAVA_HOME ya que podrás encontrar encabezados si compilas archivos de origen JNI. Si bien es cierto which java proporcionará la ruta binaria, no es el verdadero hogar JDK.


Powershell un forro:

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


Si está utilizando Linux / Unix / Mac OS X:

Prueba esto:

$ which java

Debe salir la ubicación exacta.

Después de eso, puede establecer la variable de entorno JAVA_HOME usted mismo.

En mi computadora (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

Si está utilizando Windows:

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


Simple y sencillo en plataformas Windows:

donde java


Simplemente ejecuta el comando set en tu línea de comando. Luego ves todas las variables de entorno que has establecido.

O si en Unix puedes simplificarlo:

$ set | grep "JAVA_HOME"


Windows> Inicio> cmd>

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

Si tiene un JDK instalado, se muestra la Ruta,
por ejemplo: C:/Program Files/Java/jdk1.6.0_30/bin/javac.exe


en 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

Para ventanas:

@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

Este enlace puede ayudar a explicar cómo encontrar el ejecutable java desde bash: http://srcode.org/2014/05/07/detect-java-executable/