¿Cómo configurar java_home en Windows 7?

422

Fui a las Variables de entorno en 'Sistema' en el panel de control e hice dos nuevas variables, una para las variables de usuario y otra para las variables del sistema. Ambos fueron nombrados JAVA_HOME y ambos apuntando a

C: \ Sun \ SDK \ jdk \ bin

Pero por alguna razón, sigo teniendo el siguiente error cuando ejecuto un comando Java ...

BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error  occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation

Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml

¿Como puedo solucionar este problema?

Derek
fuente
3
¿Cerró cmd y lo volvió a abrir? También parece que estás apuntando al JRE, no al JDK. ¿Has instalado el JDK?
ira
Definitivamente he instalado el JDK y está ubicado en C: \ Sun \ SDK \ jdk \ bin en el que he configurado java_home.
Derek
Incluso he reiniciado ......... varias veces desde ........
Derek
Aún así, parece estar buscando en C: \ Archivos de programa \ Java \ jre6 \ lib \ c Se puede hacer echo% JAVA_HOME% en el símbolo del sistema y ver lo que reporta
rabia
3
La solución es: Omitir / bin
IceFire

Respuestas:

673

Encuentre el directorio de instalación de JDK

Primero debe conocer la ruta de instalación para el Kit de desarrollo de Java.

Abra la ruta de instalación predeterminada para el JDK:

C:\Program Files\Java

Debería haber un subdirectorio como:

C:\Program Files\Java\jdk1.8.0_172

Nota: uno solo tiene que poner la ruta al jdk sin / bin al final (como se sugiere en muchos lugares). por ejemplo, C: \ Java \ jdk1.8.0_172 y NO C: \ Java \ jdk1.8.0_172 \ bin!


Establecer la variable JAVA_HOME

Una vez que tenga la ruta de instalación de JDK:

  1. Haga clic con el botón derecho en el icono Mi PC en su escritorio y seleccione Propiedades .
  2. Haga clic en la pestaña Avanzado , luego haga clic en el botón Variables de entorno .
  3. En Variables del sistema , haga clic en Nuevo.
  4. Ingrese el nombre de la variable como JAVA_HOME .
  5. Ingrese el valor de la variable como la ruta de instalación para el Kit de desarrollo de Java.
  6. Haz clic en Aceptar .
  7. Haz clic en Aplicar cambios .

Nota: es posible que deba reiniciar Windows

El artículo completo está aquí, en mi blog: Configuración de la variable JAVA_HOME en Windows .

Robs
fuente
121
Gracias. finalmente me di cuenta de que uno solo tiene que poner el camino al jdk sin / bin al final (como se sugiere en muchos lugares). por ejemplo, C: \ Java \ jdk1.6.0_31 y NO C: \ Java \ jdk1.6.0_31 \ bin!
salocinx
24
Dios no lo quiera, había un instalador que hizo este paso por usted :) Acabo de cambiar de la versión Enterprise a la versión Community y estaba convencido de que descargué el archivo incorrecto porque era un clic en la versión Enterprise: p
John Humphreys - w00te
66
A veces, los cambios en las variables del sistema no surten efecto hasta que reinicie las ventanas.
Andy
11
Un método más rápido es presionar Inicio, luego comenzar a escribir variables de entorno
Casebash
44
/Java/jre*no es el directorio JDK, este es el entorno Java Runtime Enviroment. JDK está en un directorio separado a menos que quieras hacer un hack loco
ericn
157

Lo que funcionó para mí fue agregar la %JAVA_HOME%\binvariable de entorno Path con la JAVA_HOMEvariable de entorno apuntando a la jdkcarpeta.

fogedi
fuente
126

Primero debe instalar JDK en su sistema.

Establecer Java Inicio

JAVA_HOME = C: \ Archivos de programa \ Java \ jdk1.7.0 [Ubicación del directorio de instalación de JDK]

Una vez que tenga la ruta de instalación de JDK:

  • Haga clic derecho en el icono Mi PC en
  • Seleccione Propiedades
  • Haga clic en la pestaña Configuración avanzada del sistema en el lado izquierdo de su pantalla
  • Aadvance Popup está abierto.
  • Haga clic en el botón Variables de entorno.

ingrese la descripción de la imagen aquí

  • En Variables del sistema, haga clic en Nuevo.
  • Ingrese el nombre de la variable como JAVA_HOME.
  • Ingrese el valor de la variable como la ruta de instalación para el Kit de desarrollo de Java.
  • Haga clic en Aceptar.
  • Haz clic en Aplicar cambios.

Establecer JAVA Path bajo la variable del sistema

RUTA = C: \ Archivos de programa \ Java \ jdk1.7.0; [Agregar valor con punto y coma]

Chequea aquí

Ankit jain
fuente
14
¿Debe JAVA_HOME contener "\ bin"? Otras respuestas aquí parecen sugerir que "bin" debería incluirse para PATH pero no para JAVA_HOME.
devuxer
72
JAVA_HOME NO debe contener \ bin.
Larry Silverman
55
[MÁS UNO] ¡Bonitas flores!
GingerHead
Pero en Imagen ingresas con \ bin.
NaveenDA
32

En cmd (temporalmente para esa ventana de cmd):

set JAVA_HOME="C:\\....\java\jdk1.x.y_zz"

echo %JAVA_HOME%

set PATH=%PATH%;%JAVA_HOME%\bin

echo %PATH%
sgrillon
fuente
2
Cierto. Si utiliza setxentonces el JAVA_HOMEtodavía se establecerá después de haber apagado el ordenador. Entonces no tienes que configurarlo de nuevo. Tampoco bines necesario.
Tenzin
Sí, pero si no desea instalar Java oficialmente, como dijo sgrillon, puede configurarlo temporalmente para esa instancia. Mejor aún, crear un archivo por lotes que se puede ejecutar para abrir una ventana del símbolo del sistema y conjunto JAVA_HOME, PATHy CLASSPATH, a continuación, puede tener un entorno Java “portátil”.
Synetech
Es cierto, pero "" no son necesarios para configurar la dirección JAVA_HOME
Aboozar Rajabi
1
@Aboozar Rajabi, necesitas "" si ... la ruta contiene un carácter espacial.
sgrillon
19

C:\Sun\SDK\jdkDebe establecerlo en (suponiendo que es donde está instalado el JDK - No es el predeterminado) - No coloque el \ bin C:\Sun\SDK\jdk\bin.

Si su aplicación solo se ejecuta cuando ha iniciado sesión como usuario actual, colóquela en las variables de usuario. Si necesita ejecutarse para todos los usuarios de su sistema, colóquela en Variables del sistema.

Es posible que también deba agregar %JAVA_HOME%\bina la ruta (también depende de si la ejecuta solo del usuario o de todos los usuarios, incluido el Sistema)

Romain Hippeau
fuente
17

http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html

Panel de control> Java, pestaña Java, haga clic en el botón Ver. En Parámetros de tiempo de ejecución, ponga:

-Djava.home=YOUR_PATH_HERE

O cuando ejecutas Java puedes agregar ese interruptor de línea de comando al comando:

java -Djava.home=PATH SomeJavaApp
Ricket
fuente
El panel de control parece aplicarse solo a la versión comercial de Java. No es para la versión GPL.
Thomas Weller
7

Para aquellos que todavía están perplejos con este problema (probé todas las sugerencias anteriores):

Si tiene una versión de Windows de 64 bits y ha instalado el JDK de 32 bits, además de ajustar las PATHvariables, es posible que también necesite ajustar las variables del registro .

Me estaba arrancando el pelo, establecí correctamente mis PATHvariables, aún sin resultado, y luego solo encontré entradas de Java "desocupadas" en mi registro, aparentemente un callejón sin salida para arreglar el entorno de ejecución de Java "mal encendido".

Al usar Process Monitorpara mirar el programa que estaba tratando de comenzar, para detectar dónde estaba buscando en el registro de Java (Runtime Environment), descubrí triunfalmente que está buscando en la versión de 32 bits de las entradas de registro, que se encuentra en HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment.

Dentro de esa clave, debe encontrar subclaves de diferentes versiones de Java instaladas (pasadas y / o presentes). Haga clic en la subclave de la última versión (mi subclave es actualmente 1.7.0_25, por ejemplo). Después de hacer clic en esa subclave, verá los valores de cadena del Registro mostrada a la derecha, y en particular, JavaHomey RuntimeLib. Debe modificar los valores de esos dos valores para reflejar la carpeta actual y el archivo jvm.dll, respectivamente.

Por ejemplo, en mi caso, los valores se establecieron (previamente) respectivamente en C:\Program Files (x86)\Java\jre7y C:\Program Files (x86)\Java\jre7\bin\client\jvm.dllque no existen en mi máquina. Tuve que actualizarlos a la carpeta actual y al archivo de C:\Program Files (x86)\Java\jdk1.7.0_25\jrey C:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll.

Una vez más, esto dependerá por completo de la versión de Java (JDK y / o JRE) que haya instalado (32 o 64 bits) y del tipo de sistema operativo en el que se encuentre: 32 o 64 bits. Solo sepa que se reflejan en diferentes ubicaciones dentro del registro (como las Wow6432Nodeaplicaciones de 32 bits, en mi caso con el JDK de 32 bits instalado en una máquina de 64 bits).

Ahora que he actualizado esos dos valores de registro, mi programa se ejecuta sin problemas, sin más contratiempos o quejas sobre la falta de Java Runtime Environment (derivado del registro).

Coldblackice
fuente
1
Estoy en una máquina con Windows 7 de 64 bits y tengo ambos: C: \ Archivos de programa (x86) \ Java \ y C: \ Archivos de programa \ Java \ Ahora mi pregunta es ¿a cuál debería apuntar mi java_home?
voidMainReturn
Interesante; Solo tengo la carpeta Java debajo de la carpeta x86.
B. Clay Shannon
En C: \ Archivos de programa (x86) \ Java \ jdk1.7.0_25 \ jre \ bin No tengo un cliente de directorio, solo existe en C: \ Archivos de programa (x86) \ Java \ jre7 \ bin. ¿Qué tengo que hacer?
Pavol Havlik
En Windows 7, después de buscar la palabra clave "1.8.0_74", encontré múltiples registros usando regedit en HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft / Java Development Kit / 1.8.0_74 / o ../1.8.0_65 y todos los demás instalados previamente ... Después de eliminar uno por uno el registro de la parte inferior a mi último java 1.8.0_112 instalado, ahora YourKit java profiler (profiler.exe) funciona sin error: "Ocurrió un error al iniciar C: \ Archivos de programa \ Java \ jdk1.8.0_74 \ bin \ javaw.exe ".
David
7

Esta es la solución oficial para configurar el entorno Java desde www.java.com - aquí .

Hay soluciones para Windows 7, Windows Vista, Windows XP, Linux / Solaris y otros shells.


Ejemplo

Windows 7

  1. Seleccione Computadora en el menú Inicio
  2. Elija Propiedades del sistema en el menú contextual.
  3. Haga clic en Configuración avanzada del sistema -> pestaña Avanzado
  4. Haga clic en Variables de entorno, en Variables del sistema, busque RUTA y haga clic en él.
  5. En las ventanas Editar, modifique PATH agregando la ubicación de la clase al valor de PATH. Si no tiene el elemento RUTA, puede seleccionar agregar una nueva variable y agregar RUTA como el nombre y la ubicación de la clase como valor.
  6. Vuelva a abrir la ventana del símbolo del sistema y ejecute su código Java.
Hatcha
fuente
1
Las instrucciones oficiales son inútiles. Solo dan instrucciones genéricas sobre cómo establecer variables de entorno en lugar de indicar el valor que debe establecerse. Simplemente dicen configurarlo en "la ubicación de la clase", lo cual es confuso y sin sentido.
Synetech
Estas instrucciones no establecen JAVA_HOME, una variable completamente separada de PATH que se requiere para algunos programas.
Jules
6

Windows 7

  1. Vaya a Panel de control \ Todos los elementos del Panel de control \ Cuentas de usuario usando Explorer (¡no Internet Explorer!)

    o

    • haga clic en el botón Inicio

      comienzo

    • haz click en tu foto

      clickOnPhoto

  2. Cambiar mis variables de entorno

    Cambiar mis variables de entorno

  3. Nuevo...

    nuevo

    (si no tiene suficientes permisos para agregarlo en la sección Variables del sistema, agréguelo a la sección Variables de usuario)

  4. Agregue JAVA_HOME como nombre de variable y la ubicación JDK como valor de variable> OK

    editar la variable del sistema ok

Prueba:

  • abrir una nueva consola (cmd)
  • tipo set JAVA_HOME
    • Rendimiento esperado: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
RUMANIA_ingeniero
fuente
6

Necesitamos hacer una distinción entre las dos variables de entorno que se discuten aquí indistintamente. Una es la variable JAVA_HOME . La otra es la variable Ruta . Cualquier proceso que haga referencia a la variable JAVA_HOME está buscando la ruta de búsqueda al JDK, no al JRE. El uso de la variable JAVA_HOME no está destinado al compilador de Java en sí. El compilador conoce su propia ubicación. La variable está diseñada para que otro software localice más fácilmente el compilador. El software IDE suele utilizar esta variable para compilar y crear aplicaciones a partir del código fuente de Java. Por el contrario, el intérprete CMD de Windows y muchos otros software de primera y tercera referencia hacen referencia a la variable Path, no a la variable JAVA_HOME.

Caso de uso 1: compilación desde CMD

Entonces, por ejemplo, si no está utilizando ningún software IDE y solo desea poder compilar desde el CMD, independientemente de su directorio de trabajo actual, entonces lo que desea es establecer la variable Path correctamente. En su caso, ni siquiera necesita la variable JAVA_HOME. Como CMD está utilizando Path, no JAVA_HOME para localizar el compilador de Java.

Caso de uso 2: compilando desde IDE

Sin embargo, si está utilizando algún software IDE, primero debe consultar la documentación. Puede requerir que se establezca JAVA_HOME, pero también puede usar otro nombre de variable para el mismo propósito. El estándar de facto a lo largo de los años ha sido JAVA_HOME, pero este no siempre es el caso.

Caso de uso 3: compilación de IDE y CMD

Si además del software IDE también desea poder compilar desde el CMD, independientemente de su directorio de trabajo actual, entonces, además de la variable JAVA_HOME, es posible que necesite agregar la ruta de búsqueda JDK a la variable Ruta.

JAVA_HOME vs. Path

Si su problema se relaciona con la compilación de Java, entonces desea verificar la variable JAVA_HOME y la Ruta (donde corresponda). Si su problema se relaciona con la ejecución de aplicaciones Java, entonces desea verificar su variable Path.

La variable de ruta se usa universalmente en todos los sistemas operativos. Debido a que está definido por el sistema y a que es la variable predeterminada que se usa para localizar el JRE, casi nunca hay ningún problema al ejecutar aplicaciones Java. Especialmente no en Windows, donde los instaladores de software generalmente configuran todo para usted. Pero si está instalando manualmente, lo más seguro es quizás omitir la variable JAVA_HOME por completo y simplemente usar la variable Path para todo, tanto para JDK como para JRE. Cualquier versión reciente de un software IDE debería poder recogerlo y usarlo.

Enlaces simbólicos

Los enlaces simbólicos pueden proporcionar otra forma de hacer referencia a la ruta de búsqueda JDK al aprovechar una de las variables de entorno existentes.

No estoy seguro acerca de las versiones anteriores de Oracle / Sun JDK / JRE, pero al menos el instalador de jdk1.8.0_74 agrega la ruta de búsqueda C:\ProgramData\Oracle\Java\javapatha la variable Ruta y la coloca al comienzo del valor de la cadena. Este directorio contiene enlaces simbólicos a java.exe, javaw.exe y javaws.exe en el directorio JRE.

Entonces, al menos con el Java 8 JDK, y presumiblemente el Java 8 JRE autónomo, no es necesario realizar una configuración de variable de entorno para el JRE. Siempre que use el paquete de instalación para configurarlo. Sin embargo, puede haber diferencias en su instalación de Windows. Tenga en cuenta que Oracle JRE viene incluido con el JDK.

Si alguna vez encuentra que su configuración JDK de Java está utilizando la versión incorrecta del compilador, o parece estar funcionando por arte de magia, sin estar explícitamente definido (sin lanzar el hechizo), entonces puede tener un enlace simbólico en alguna parte de sus variables de entorno . Por lo tanto, es posible que desee verificar el enlace simbólico.

Samir
fuente
5

vaya a Mycomputer (Esta PC) -> haga clic con el botón derecho -> seleccione propiedades -> Configuración avanzada del sistema -> variables de entorno-> en las variables del sistema, haga clic en el botón " Nuevo " y escriba JAVA_HOME en el nombre de la variable y la ruta C: \ Archivos de programa \ Java \ jdk1. 8.0_131 donde jdk está presente en el valor variable-> haga clic en Aceptar.

cierre y vuelva a abrir el símbolo del sistema después de configurar JAVA_HOME. A veces, los cambios no se reflejan en el cmd abierto antes de configurar JAVA_HOME.

también puede configurar JAVA_HOME a través del terminal: SET JAVA_HOME = "C: \ Archivos de programa (x86) \ Java \ jdk1.8.0_131"

Shreya Sharma
fuente
4

En Eclipse: Window->Preferences->Java->Installed JREs

Use la función de búsqueda para asegurarse de que su última instalación de Java esté en la lista; luego asegúrese de que sea el que está marcado. Esto debería ser un JDK, no un JRE.

Iceberg
fuente
Estas instrucciones no establecen JAVA_HOME, que no está relacionado con eclipse.
Jules
4

Al agregar su directorio Java a su PATHvariable, es posible que desee colocarlo justo al comienzo. He tenido el problema, que poner el directorio de Java al final PATHno funcionaría. Después de verificar, he encontrado java.exeen mi Windows\System32directorio y parece que el primero gana, cuando hay varios archivos con el mismo nombre en su PATH...

usuario2414128
fuente
Cuando / si instala Java con el instalador, reemplazará las copias de java.exey javaw.exeen las carpetas del sistema con las copias de JRE / JDK, por lo que aún debería funcionar. Si lo instala manualmente (simplemente descomprima los archivos), tendrá que estar atento a la copia que se está ejecutando.
Synetech
Estas instrucciones no establecen JAVA_HOME, una variable completamente separada de PATH que se requiere para algunos programas.
Jules
3

Ejecute Eclipse como administrador.

Eso resolvió mi problema. Todavía estoy buscando la lógica detrás de esto.

muscailie
fuente
1
No puedo decir que entiendo esto exactamente, pero tal vez eclipse en realidad solo está dando un mensaje de error incorrecto aquí. Cuando lo ejecuta como no administrador, no puede eliminar los archivos .jar o algo y luego informa falsamente que no encontró javac. De todos modos, esta solución también funcionó para mí.
Jess
si está ejecutando Eclipse en Windows Server 2012 R2 como en mi caso, ejecutar eclipse como administrador funciona para mí. Recuerde también configurar java_home en la carpeta de archivos del programa y no en la carpeta de archivos del programa (86). Espero que esto ayude a alguien.
ombiro
2

si no ha reiniciado su computadora después de instalar jdk, simplemente reinicie su computadora.

si desea hacer un java portátil y establecer la ruta antes de usar java, simplemente haga un archivo por lotes que expliqué a continuación.

si desea ejecutar este archivo por lotes cuando su computadora se inicia, simplemente coloque el acceso directo del archivo por lotes en la carpeta de inicio. En la carpeta de inicio de Windows 7 es "C: \ Users \ user \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup"

hacer un archivo por lotes como este:

set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin

nota: java_homey pathson variables. puedes hacer cualquier variable como desees. por ejemplo set amir=good_boyy puedes ver a amir %amir%o puedes ver java_home por%java_home%

Amir
fuente
0

Después de horas de trabajo en torno a la mayoría de las soluciones aquí, el problema se resolvió simplemente instalando JDK de 32 bits.

Vahid Ghadiri
fuente
1
Lo cual está bien si eso es lo que desea, pero algunas personas prefieren no instalar Java y simplemente configurar un entorno "portátil" de forma manual, en cuyo caso, necesita saber qué variables de entorno deben configurarse.
Synetech
0

Es posible que desee buscar en la carpeta Windows / System32 los siguientes archivos: - java.exe - javaw.exe - javaws.exe

Debido a que la variable de ruta incluye estos archivos, puede tener un dolor de cabeza al tratar de descubrir por qué la versión-java o la versión-javac sigue apuntando al antiguo JAVA_HOME: cambie el nombre de esos archivos, elimine la extensión con un guión bajo, por ejemplo. Y luego, solo tendrá que crear la variable JAVA_HOME, agregarla a la variable de ruta (por ejemplo,% JAVA_HOME%) y agregar la partícula "\ bin". De esta manera solo necesita cambiar la variable JAVA_HOME apuntando a diferentes JRE o JDK y tener múltiples instalaciones de java simplemente configurando JAVA_HOME.

Esto también significa que es mejor instalar Java manualmente, sin un instalador, para que pueda jugar con él.

Camilo
fuente