¿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:
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.
Agregue una variable de entorno de usuarioJAVA_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.
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
Paso 3: haga clic en Variables de entorno
Paso 4: crea una nueva ruta de clase para JAVA_HOME
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.
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
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
Cmd abierto
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 .
Escribe en cmd: set path=C:\Program Files\Java\jdk1.8.0_121\bin
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
Haga clic derecho en "Mi computadora" y haga clic en propiedades
Haga clic en "Configuración avanzada del sistema"
Haga clic en "Variables de entorno"
Haga clic en la nueva pestaña de la variable de usuario
Escribir pathenvariable name
Copie la ruta de la carpeta bin
Pegue la ruta de la carpeta bin en elvariable value
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
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 RuntimeEnvironment(build 1.7.0_79-b15)JavaHotSpot(TM)64-BitServer VM (build 24.79-b02, mixed mode)
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.
+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"
Paso 2: Vaya a "Configuración avanzada del sistema" y haga clic en él.
Paso 3: Vaya a "Inicio" y acceda a las propiedades "Mi PC"
Paso 4: el cuadro de diálogo para la variable de entorno se abrirá así:
Paso 5: Ve a la ruta y haz clic en editar.
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:
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.
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.
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.
@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):
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.
Respuestas:
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 longishyour-unique-entries
no contenga ninguna otra referencia a otra carpeta de instalación de Java.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 apuntaJAVA_HOME
a 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
JAVA_TOOL_OPTIONS
con valor-Dfile.encoding="UTF-8"
. Esto garantiza que Java (y herramientas como Maven ) se ejecutarán con unCharset.defaultCharset()
deUTF-8
(en lugar del predeterminadoWindows-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 .Path
una entradaC:\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 eliminarC:\ProgramData\Oracle\Java\javapath;
de laPath
variable de entorno del sistema para tener un entorno coherente.fuente
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.javapath
directorio 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%\jre
en 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ólicosjavapath
y en su lugar crea enlaces duros a .exes en..\javapath_target_nnnnnnn\*.exe
.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
Paso 3: haga clic en Variables de entorno
Paso 4: crea una nueva ruta de clase para JAVA_HOME
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.Paso 6 : siga el paso anterior y edite la ruta en las variables del sistema agregue lo siguiente
;c:\Programfiles\Java\jdk-1.6\bin
en 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
quien recibirá una lista de documentos de ayuda
Para asegurarse de si el compilador está configurado, escriba cmd
quien recibirá una lista relacionada con javac
Espero que esto ayude !
fuente
$java
o$javac
, sino solojava
ojavac
.PATH
variable de entorno; solo configurarJAVA_HOME
no es suficiente.--- Para establecer la ruta de Java ---
Hay dos formas de configurar la ruta de Java
Un temporal
javac
Si Java no está instalado, verá el mensaje:
set path=C:\Program Files\Java\jdk1.8.0_121\bin
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
path
envariable name
variable value
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,EditEnvironmentVariables
y presioneENTERfuente
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_HOME
y el valorC:\Program Files\Java\jdk1.7.0_79
(según la ruta de instalación de JDK, varía).A continuación, seleccione la
Path
variable del sistema y haga clic en Editar ... . Mantenga el nombre de la variable comoPath
, y agregueC:\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:Verás algo como esto:
Luego verifique lo siguiente:
Verás algo como esto:
fuente
Las instrucciones de instalación de JDK explican exactamente cómo configurar
PATH
, para diferentes versiones de Windows.Normalmente no debe establecer la
CLASSPATH
variable de entorno. Si lo deja sin configurar, Java buscará en el directorio actual para encontrar clases. Se puede utilizar el-cp
o-classpath
modificador de la línea de comandos conjava
ojavac
.fuente
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"
Paso 2: Vaya a "Configuración avanzada del sistema" y haga clic en él.
Paso 3: Vaya a "Inicio" y acceda a las propiedades "Mi PC"
Paso 4: el cuadro de diálogo para la variable de entorno se abrirá así:
Paso 5: Ve a la ruta y haz clic en editar.
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:
fuente
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
fuente
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.
fuente
En Linux: http://lowfatlinux.com/linux-environment-variables.html
Y, por supuesto, puede recuperarlos de Java usando:
fuente
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
fuente
Tenga en cuenta que la
%CLASSPATH%
variable de entorno se ignora cuando se utiliza Java / javac en combinación con uno de los-cp
,-classpath
o-jar
argumentos. 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-path
entrada 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)
lib
del proyecto que se agrega a la ruta de compilación del proyecto.fuente
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):
O en la línea de comando o * .bat (para * .sh también) si la id de classpath no es muy larga:
fuente
Para ventanas:
C:\Program Files\java\jdk\bin
después de un punto y coma.fuente
fuente