Variables de entorno para la instalación de Java

205

¿Cómo establecer las variables de entorno para Java en Windows (el classpath)?

Dean jones
fuente
2
¿Qué variables de entorno? El classpath y JAVA_HOME? ¿Qué plataforma (Linux / Windows)? Por favor explique
Wernsey
22
¿Estoy solo pensando que es demasiado lamentable que el instalador de Java no actualice la variable de entorno de ruta automáticamente?
Thomas Eyde
2
@ThomasEyde: el único problema con esa idea es qué sucede si quiero varias JVM en mi máquina; la configuración automática de la ruta podría causar problemas.
Richard Le Mesurier el
3
@Richard Le Mesurier: Solo tiene una casilla de verificación "establecida como nueva JVM predeterminada" en el instalador ...
Algoman
comentando para referencia
Asker123

Respuestas:

395

Kit de desarrollo Java SE 8u112 en Windows 7 o Windows 8 de 64 bits

Establezca las siguientes variables de entorno de usuario (== variables de entorno de tipo variables de usuario )

  • JAVA_HOME : C:\Program Files\Java\jdk1.8.0_112
  • JDK_HOME : %JAVA_HOME%
  • JRE_HOME : %JAVA_HOME%\jre
  • CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
  • PATH : your-unique-entries;%JAVA_HOME%\bin(asegúrese de que el longish your-unique-entriesno contenga ninguna otra referencia a otra carpeta de instalación de Java.

Nota para usuarios de Windows en sistemas de 64 bits:

Progra~1 = 'Program Files'
Progra~2 = 'Program Files(x86)'

Observe que estas variables de entorno se derivan de la variable de entorno "raíz" JAVA_HOME. Esto facilita la actualización de las variables de entorno al actualizar el JDK. Solo apunta JAVA_HOMEa la nueva instalación.

Hay una publicación en el blog que explica la lógica detrás de todas estas variables de entorno .

Recomendaciones opcionales

  • Agregue una variable de entorno de usuario JAVA_TOOL_OPTIONS con valor -Dfile.encoding="UTF-8". Esto garantiza que Java (y herramientas como Maven ) se ejecutarán con un Charset.defaultCharset()de UTF-8(en lugar del predeterminado Windows-1252). Esto ha ahorrado muchos dolores de cabeza al trabajar con mi propio código y el de otros, que desafortunadamente a menudo asumen la codificación predeterminada (sana) UTF-8 .
  • Cuando se instala JDK, agrega a la variable de entorno del sistemaPath una entrada C:\ProgramData\Oracle\Java\javapath;. Noté anecdóticamente que los enlaces en ese directorio no se actualizaron durante una actualización de instalación de JDK. Por lo tanto, es mejor eliminar C:\ProgramData\Oracle\Java\javapath;de la Pathvariable de entorno del sistema para tener un entorno coherente.
Abdull
fuente
12
Es la mejor respuesta
Kimchi Man
1
Buena respuesta. También hago una unión de directorio a mi instalación de Java que puedo actualizar cada vez que instalo una nueva versión ( mklink /j C:\devel\java8 "C:\Program Files\Java\jdk1.8.0_91"). De esa manera, cuando uso cygwin o algo que no puede leer las variables de entorno de Windows, todavía tengo una forma rápida de intercambiar versiones. Y es mucho más fácil recordar el camino más corto sin la versión menor.
kghastie
Intenté configurar una variable JAVA_ROOT_PATH pero a JAVA_HOME no parecía gustarme el uso de ninguna variable de entorno por su valor. ¿Hay alguna razón para esto?
Eric
3
El javapathdirectorio y los enlaces simbólicos son creados por la instalación de JRE (que es un proceso opcional al instalar el JDK), por lo que si no instaló el JRE no habría creado javapath. Tenga %JAVA_HOME%\jreen cuenta que en su respuesta se encuentra el JRE privado del JDK destinado al uso del compilador de Java. No es exactamente lo mismo que el JRE público. También tenga en cuenta que, a partir de 1.8u112, la instalación de JRE parece haber dejado de crear enlaces simbólicos javapathy en su lugar crea enlaces duros a .exes en ..\javapath_target_nnnnnnn\*.exe.
Klitos Kyriacou
3
La configuración me funciona bien. Como no hay una carpeta jre en jdk 11, elimino la variable JRE_HOME, así como el valor% JAVA_HOME% \ jre \ lib en la variable CLASSPATH. Para obtener más información sobre jdk 11 sin jre: stackoverflow.com/questions/52584888/…
Huanfa Chen
66

En Windows para configurar

Paso 1: haga clic derecho en MyComputer y haga clic en propiedades.

Paso 2: haga clic en la pestaña Avanzado

texto alternativo

Paso 3: haga clic en Variables de entorno

texto alternativo

Paso 4: crea una nueva ruta de clase para JAVA_HOME

texto alternativo

Paso 5: Ingrese el nombre de la Variable como JAVA_HOME y el valor de su ruta jdk bin, es decir, c: \ Programfiles \ Java \ jdk-1.6 \ bin y

NOTA Asegúrese de comenzar con .;el valor para que no corrompa las otras variables de entorno que ya están configuradas.

texto alternativo

Paso 6 : siga el paso anterior y edite la ruta en las variables del sistema agregue lo siguiente ;c:\Programfiles\Java\jdk-1.6\binen la columna de valor.

Paso 7 : Ha terminado de configurar las variables de entorno para su Java, para probarlo, vaya al símbolo del sistema y escriba

 java   

quien recibirá una lista de documentos de ayuda

Para asegurarse de si el compilador está configurado, escriba cmd

  javac

quien recibirá una lista relacionada con javac

Espero que esto ayude !

Srinivas MV
fuente
1
Buena explicación Una pequeña cosa en el paso 6: no escriba $javao $javac, sino solo javao javac.
Jesper el
1
Y tenga en cuenta que debe agregar el directorio bin JDK a la PATHvariable de entorno; solo configurar JAVA_HOMEno es suficiente.
Jesper
1
Sí, lo siento ya que soy un amante de Linux. no me di cuenta lo cambiará, Gracias
Srinivas MV
3
1. utilice barras invertidas en WINDOWS 2. no inicie ninguna ruta con ".;" 3. agregue% JAVA_HOME% \ bin a la ruta, así podrá cambiar más tarde java_home sin tener que cambiar la ruta
raudi
1
@Wannacoffee Actualizó los cambios para las barras invertidas
Srinivas MV
27

--- Para establecer la ruta de Java ---

Hay dos formas de configurar la ruta de Java

Un temporal

  1. Cmd abierto
  2. Escribe en cmd: javac

Si Java no está instalado, verá el mensaje:

javac no se reconoce como comando interno o externo, programa operativo o archivo por lotes .

  1. Escribe en cmd: set path=C:\Program Files\Java\jdk1.8.0_121\bin
  2. Escribe en cmd: javac

Puede verificar que la ruta esté establecida si no se ha generado un error.

Es importante tener en cuenta que estos cambios son solo temporales de los programas iniciados desde este cmd.

NOTA: es posible que deba ejecutar la línea de comandos como administrador

B. permanente

  1. Haga clic derecho en "Mi computadora" y haga clic en propiedades
  2. Haga clic en "Configuración avanzada del sistema"
  3. Haga clic en "Variables de entorno"
  4. Haga clic en la nueva pestaña de la variable de usuario
  5. Escribir pathenvariable name
  6. Copie la ruta de la carpeta bin
  7. Pegue la ruta de la carpeta bin en elvariable value
  8. Haga clic en Aceptar

El camino ahora está establecido de forma permanente.

SUGERENCIA: La herramienta "Editor rápido de entorno" (freeware) es excelente para modificar las variables de entorno y útil en ese caso

SUGERENCIA 2: También hay una forma más rápida de acceder a las Variables de entorno: presione las teclas Win+ R, pegue lo siguiente %windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariablesy presioneENTER

Kimmi Dhingra
fuente
17

En Windows 7, haga clic derecho en Computadora -> Propiedades -> Configuración avanzada del sistema ; a continuación, en el Avanzada ficha, haga clic en Variables de entorno ... -> Variables del sistema -> Nuevo ... .

Dé a la nueva variable del sistema el nombre JAVA_HOMEy el valor C:\Program Files\Java\jdk1.7.0_79(según la ruta de instalación de JDK, varía).

A continuación, seleccione la Pathvariable del sistema y haga clic en Editar ... . Mantenga el nombre de la variable como Path, y agregue C:\Program Files\Java\jdk1.7.0_79\bin;o %JAVA_HOME%\bin;(ambos significan lo mismo) al valor de la variable.

Una vez que haya terminado con los cambios anteriores, intente los pasos a continuación. Si no ve resultados similares, reinicie la computadora e intente nuevamente. Si aún no funciona, es posible que deba reinstalar JDK.

Abra un símbolo del sistema de Windows (tecla de Windows + R-> enter cmd-> OK ) y verifique lo siguiente:

java -version

Verás algo como esto:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Luego verifique lo siguiente:

javac -version

Verás algo como esto:

javac 1.7.0_79
Arun
fuente
14

Las instrucciones de instalación de JDK explican exactamente cómo configurar PATH, para diferentes versiones de Windows.

Normalmente no debe establecer la CLASSPATHvariable de entorno. Si lo deja sin configurar, Java buscará en el directorio actual para encontrar clases. Se puede utilizar el -cpo -classpathmodificador de la línea de comandos con javao javac.

Jesper
fuente
44
+1 para "Normalmente no debe establecer la variable de entorno CLASSPATH".
BalusC el
5

Voy a explicar aquí por imágenes para Windows 7.

Por favor siga los siguientes pasos:

Paso 1: vaya a "Inicio" y acceda a las propiedades "Mi PC"

ingrese la descripción de la imagen aquí

Paso 2: Vaya a "Configuración avanzada del sistema" y haga clic en él.

ingrese la descripción de la imagen aquí

Paso 3: Vaya a "Inicio" y acceda a las propiedades "Mi PC"

ingrese la descripción de la imagen aquí

Paso 4: el cuadro de diálogo para la variable de entorno se abrirá así:

ingrese la descripción de la imagen aquí

Paso 5: Ve a la ruta y haz clic en editar.

ingrese la descripción de la imagen aquí

Paso 6: coloque la ruta de su JDK donde sea que se encuentre en el contenedor como se puede ver en la imagen. Agregue también la ruta desde su sdk de Android hasta las Herramientas de plataforma:

ingrese la descripción de la imagen aquí

hitesh141
fuente
3

En el contexto de programación, puede ejecutar el comando SET (SET classpath = c: \ java) o hacer clic derecho en su computadora> propiedades> avanzado> variables de entorno.

En un archivo por lotes puede usar

SET classpath=c:\java
java c:\myapplication.class
Cem Kalyoncu
fuente
No puedo entender la segunda línea. Qué significa eso?
St.Shadow el
3

Para usuarios de Windows 7:

Haga clic derecho en Mi PC, seleccione Propiedades; Avanzado; Ajustes del sistema; Avanzado; Variables de entorno. Luego busque RUTA en el segundo cuadro y configure la variable como en la imagen a continuación.

PATH editor de variables

Zar E Ahmer
fuente
2

Establecer la variable de entorno java en Centos / Linux

/ home / vi .bashrc

export JAVA_HOME = / opt / oracle / product / java / jdk1.8.0_45

export PATH = $ JAVA_HOME / bin: $ PATH

java -version

Guna Sekaran
fuente
2

Tenga en cuenta que la %CLASSPATH%variable de entorno se ignora cuando se utiliza Java / javac en combinación con uno de los -cp, -classpatho -jarargumentos. También se ignora en un IDE como Netbeans / Eclipse / IntelliJ / etc. Está solamente se utiliza cuando se utiliza Java / javac sin que ninguno de los argumentos anteriormente mencionados.

En el caso de los archivos JAR, el classpath debe definirse como class-pathentrada en el archivo manifest.mf. Se puede definir con punto y coma separados y relativos a la raíz del archivo JAR.

En el caso de un IDE, tiene la llamada 'ruta de compilación', que es básicamente la ruta de clase que se usa tanto en tiempo de compilación como en tiempo de ejecución. Para agregar bibliotecas externas, generalmente suelta el archivo JAR en una carpeta (ya sea creada previamente por IDE o personalizada) libdel proyecto que se agrega a la ruta de compilación del proyecto.

BalusC
fuente
@Balus es un principiante que está tratando de configurar su entorno Java en una PC con Windows.
Srinivas MV
1
Exactamente. El que se confundiría mucho cuando descubriera que el classpath que configuró no funciona para archivos JAR ni IDE. Solo una advertencia en su lugar :)
BalusC
1

Para una mejor implementación, configure classpath exactamente y mantenga el entorno despejado. O en * .bat (lo mismo para Linux, pero con símbolos de variables correctas):

CLASSPATH="c:\lib;d:\temp\test.jar;<long classpath>"
CLASSPATH=%CLASSPATH%;"<another_logical_droup_of_classpath" 
java -cp %CLASSPATH% com.test.MainCLass

O en la línea de comando o * .bat (para * .sh también) si la id de classpath no es muy larga:

java -cp "c:\lib;d:\temp\test.jar;<short classpath>"
St.Sombra
fuente
1

Para ventanas:

  • Haga clic derecho en 'Mis computadoras' y abra 'Propiedades'.
  • En Windows Vista o Windows 7, vaya a "Configuración avanzada del sistema". De lo contrario, vaya al siguiente paso.
  • Vaya a 'Pestaña Avanzada' y haga clic en el Environment Variablesbotón.
  • Seleccione 'Ruta' en la lista de 'Variables del sistema', y presione Edity agregueC:\Program Files\java\jdk\bin después de un punto y coma.
  • Ahora haga clic en el botón 'nuevo' en las variables del sistema e ingrese 'JAVA_HOME' como nombre de la variable y ruta al directorio de inicio de jdk (por ejemplo, 'C: \ Archivos de programa \ Java \ jdk1.6.0_24' si está instalando la versión 6. de Java. Directorio el nombre puede cambiar con las versiones diff. java) como variable_value.
Pratap Singh
fuente
1
  1. Descargar el JDK
  2. Instalarlo
  3. Luego configure variables de entorno como esta:
  4. Haga clic en EDITAR

ingrese la descripción de la imagen aquí

  1. Luego haga clic en RUTA , haga clic en Agregar, luego agréguelo así: ingrese la descripción de la imagen aquí
Abhishek Sengupta
fuente