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?
Respuestas:
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:
Debería haber un subdirectorio como:
Establecer la variable JAVA_HOME
Una vez que tenga la ruta de instalación de JDK:
El artículo completo está aquí, en mi blog: Configuración de la variable JAVA_HOME en Windows .
fuente
/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 locoLo que funcionó para mí fue agregar la
%JAVA_HOME%\bin
variable de entorno Path con laJAVA_HOME
variable de entorno apuntando a lajdk
carpeta.fuente
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:
Establecer JAVA Path bajo la variable del sistema
RUTA = C: \ Archivos de programa \ Java \ jdk1.7.0; [Agregar valor con punto y coma]
fuente
En cmd (temporalmente para esa ventana de cmd):
fuente
setx
entonces elJAVA_HOME
todavía se establecerá después de haber apagado el ordenador. Entonces no tienes que configurarlo de nuevo. Tampocobin
es necesario.JAVA_HOME
,PATH
yCLASSPATH
, a continuación, puede tener un entorno Java “portátil”.C:\Sun\SDK\jdk
Debe establecerlo en (suponiendo que es donde está instalado el JDK - No es el predeterminado) - No coloque el \ binC:\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%\bin
a la ruta (también depende de si la ejecuta solo del usuario o de todos los usuarios, incluido el Sistema)fuente
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:
O cuando ejecutas Java puedes agregar ese interruptor de línea de comando al comando:
fuente
Una imagen puede solucionar este problema.
Para más
fuente
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
PATH
variables, es posible que también necesite ajustar las variables del registro .Me estaba arrancando el pelo, establecí correctamente mis
PATH
variables, 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 Monitor
para 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 enHKEY_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,
JavaHome
yRuntimeLib
. 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\jre7
yC:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
que no existen en mi máquina. Tuve que actualizarlos a la carpeta actual y al archivo deC:\Program Files (x86)\Java\jdk1.7.0_25\jre
yC:\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
Wow6432Node
aplicaciones 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).
fuente
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
fuente
Windows 7
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
haz click en tu foto
Cambiar mis variables de entorno
Nuevo...
(si no tiene suficientes permisos para agregarlo en la sección Variables del sistema, agréguelo a la sección Variables de usuario)
Agregue JAVA_HOME como nombre de variable y la ubicación JDK como valor de variable> OK
Prueba:
set JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
fuente
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\javapath
a 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.
fuente
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"
fuente
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.
fuente
Al agregar su directorio Java a su
PATH
variable, es posible que desee colocarlo justo al comienzo. He tenido el problema, que poner el directorio de Java al finalPATH
no funcionaría. Después de verificar, he encontradojava.exe
en miWindows\System32
directorio y parece que el primero gana, cuando hay varios archivos con el mismo nombre en suPATH
...fuente
java.exe
yjavaw.exe
en 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.Ejecute Eclipse como administrador.
Eso resolvió mi problema. Todavía estoy buscando la lógica detrás de esto.
fuente
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:
nota:
java_home
ypath
son variables. puedes hacer cualquier variable como desees. por ejemploset amir=good_boy
y puedes ver a amir%amir%
o puedes ver java_home por%java_home%
fuente
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.
fuente
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.
fuente