in

java: javac no se reconoce como un comando interno o externo, programa operable o archivo por lotes

apple touch icon@2

Para lectores experimentados:

  1. Busque la ruta de Java; se parece a esto: C:Program FilesJavajdkxxxxbin
  2. Búsqueda en el menú de inicio de «variable de entorno» para abrir el cuadro de diálogo de opciones.
  3. Examinar PATH. Elimina las antiguas rutas de Java.
  4. Agregue la nueva ruta de Java a PATH.
  5. Editar JAVA_HOME.
  6. Cierre y vuelva a abrir la consola / IDE.

¡Bienvenido!

Ha encontrado uno de los problemas técnicos más notorios que enfrentan los principiantes de Java: el 'xyz' is not recognized as an internal or external command... mensaje de error.

En una palabra, no has instalado Java correctamente. Finalizar la instalación de Java en Windows requiere algunos pasos manuales. Siempre debe realizar estos pasos después de instalar Java, incluso después de actualizar el JDK.

(Si ya comprende esto, no dude en omitir las siguientes tres secciones).

Cuando corres javac HelloWorld.java, cmd debe determinar dónde javac.exe se encuentra. Esto se logra con PATH, una variable de entorno.

Un Variable ambiental es un par clave-valor especial (p. ej. windir=C:WINDOWS). La mayoría viene con el sistema operativo y algunos son necesarios para que el sistema funcione correctamente. Se pasa una lista de ellos a cada programa (incluido cmd) cuando se inicia. En Windows, hay dos tipos: variables de entorno de usuario y variables de entorno del sistema.

Puede ver las variables de su entorno de esta manera:

C:>set
ALLUSERSPROFILE=C:ProgramData
APPDATA=C:UserscraigAppDataRoaming
CommonProgramFiles=C:Program FilesCommon Files
CommonProgramFiles(x86)=C:Program Files (x86)Common Files
CommonProgramW6432=C:Program FilesCommon Files
...

La variable más importante es PATH. Es una lista de caminos, separados por ;. Cuando se ingresa un comando en cmd, se escaneará cada directorio de la lista en busca de un ejecutable coincidente.

En mi computadora, PATH es:

C:>echo %PATH%
C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPower
Shellv1.0;C:ProgramDataMicrosoftWindowsStart MenuPrograms;C:UserscraigAppData
RoamingMicrosoftWindowsStart MenuPrograms;C:msys64usrbin;C:msys64mingw64bin;C:
msys64mingw32bin;C:Program Filesnodejs;C:Program Files (x86)Yarnbin;C:Users
craigAppDataLocalYarnbin;C:Program FilesJavajdk-10.0.2bin;C:ProgramFilesGitcmd;
C:Program FilesOracleVirtualBox;C:Program Files7-Zip;C:Program FilesPuTTY;C:
Program Fileslaunch4j;C:Program Files (x86)NSISBin;C:Program Files (x86)Common Files
AdobeAGL;C:Program FilesIntelIntel(R) Management Engine ComponentsDAL;C:Program
FilesIntelIntel(R) Management Engine ComponentsIPT;C:Program FilesInteliCLS Client;
C:Program Files (x86)IntelIntel(R) Management Engine ComponentsDAL;C:Program Files
(x86)IntelIntel(R) Management Engine ComponentsIPT;C:Program Files (x86)InteliCLS
Client;C:UserscraigAppDataLocalMicrosoftWindowsApps

Cuando corres javac HelloWorld.java, cmd, al darse cuenta de que javac no es un comando interno, busca en el sistema PATH seguido por el usuario PATH. Entra mecánicamente en todos los directorios de la lista y comprueba si javac.com, javac.exe, javac.batetc. está presente. Cuando encuentra javac, lo ejecuta. Cuando no lo hace, imprime 'javac' is not recognized as an internal or external command, operable program or batch file.

Debe agregar el directorio ejecutables de Java a PATH.

(Si ya comprende esto, no dude en omitir esta sección).

Al descargar Java, se le ofrece la posibilidad de elegir entre:

  • los Entorno de ejecución de Java (JRE), que incluye las herramientas necesarias para ejecutar programas Java, pero no para compilar nuevos – contiene java pero no javac.
  • los Kit de desarrollo de Java (JDK), que contiene tanto java y javac, junto con una serie de otras herramientas de desarrollo. El JDK es un superconjunto del JRE.

Debes asegurarte has instalado el JDK. Si solo ha instalado el JRE, no puede ejecutar javac porque no tiene una instalación del compilador de Java en su disco duro. Compruebe la lista de programas de Windows y asegúrese de que el nombre del paquete de Java incluya las palabras «Kit de desarrollo».

(Si no planeaba hacerlo de todos modos, no dude en omitir esta sección).

Varias otras respuestas recomiendan ejecutar alguna variación de:

C:>:: DON'T DO THIS
C:>set PATH=C:Program FilesJavajdk1.7.0_09bin

No hagas eso. Hay varios problemas importantes con ese comando:

  1. Este comando borra todo lo demás de PATH y lo reemplaza con la ruta de Java. Después de ejecutar este comando, es posible que otros comandos no funcionen.
  2. Tu ruta de Java probablemente no es C:Program FilesJavajdk1.7.0_09bin – es casi seguro que tienes una versión más nueva del JDK, que tendría una ruta diferente.
  3. El nuevo PATH solo aplica a la sesión de cmd actual. Tendrá que volver a ingresar al set comando cada vez que abra el símbolo del sistema.

Los puntos n. ° 1 y n. ° 2 se pueden resolver con esta versión ligeramente mejor:

C:>:: DON'T DO THIS EITHER
C:>set PATH=C:Program FilesJava<enter the correct Java folder here>bin;%PATH%

Pero es una mala idea en general.

La forma correcta comienza con encontrar dónde ha instalado Java. Esto depende de cómo ha instalado Java.

Instalador de exe

Ha instalado Java ejecutando un programa de instalación. El instalador de Oracle coloca las versiones de Java en C:Program FilesJava (o C:Program Files (x86)Java). Con el Explorador de archivos o el símbolo del sistema, navegue hasta ese directorio.

Cada subcarpeta representa una versión de Java. Si solo hay uno, lo ha encontrado. De lo contrario, elija el que se parezca a la versión más reciente. Asegúrese de que el nombre de la carpeta comience con jdk (Opuesto a jre). Ingrese al directorio.

Luego ingrese el bin directorio de eso.

Ahora se encuentra en el directorio correcto. Copia la ruta. Si está en el Explorador de archivos, haga clic en la barra de direcciones. Si está en el símbolo del sistema, Copiar el aviso.

La ruta de Java resultante debe tener el formato (sin comillas):

C:Program FilesJavajdkxxxxbin

Archivo zip

Ha descargado un .zip que contiene el JDK. Extraerlo a algún lugar aleatorio donde no se interponga en tu camino; C:Java es una opción aceptable.

Luego ubique el bin carpeta en algún lugar dentro de ella.

Ahora se encuentra en el directorio correcto. Copia su ruta. Esta es la ruta de Java.

Recuerde no mover nunca la carpeta, ya que eso invalidaría la ruta.

8RT5nyy

Ese es el diálogo para editar PATH. Hay numerosas formas de acceder a ese cuadro de diálogo, dependiendo de su versión de Windows, la configuración de la interfaz de usuario y cuán desordenada esté la configuración de su sistema.

Pruebe algunos de estos:

  • Cuadro de búsqueda del menú Inicio / barra de tareas »busque» variable de entorno «
  • Win + R » control sysdm.cpl,,3
  • Win + R » SystemPropertiesAdvanced.exe » Variables de entorno
  • Explorador de archivos »escriba en la barra de direcciones Control PanelSystem and SecuritySystem »Configuración avanzada del sistema (extremo izquierdo, en la barra lateral)» Variables de entorno
  • Escritorio »haga clic con el botón derecho en Esta PC» Propiedades »Configuración avanzada del sistema» Variables de entorno
  • Menú Inicio »haga clic con el botón derecho en Equipo» Propiedades »Configuración avanzada del sistema» Variables de entorno
  • Panel de control (modo de icono) »Sistema» Configuración avanzada del sistema »Variables de entorno
  • Panel de control (modo de categoría) »Sistema y seguridad» Sistema »Configuración avanzada del sistema» Variables de entorno
  • Escritorio »haga clic con el botón derecho en Mi PC» Avanzado »Variables de entorno
  • Panel de control »Sistema» Avanzado »Variables de entorno

Cualquiera de estos debería llevarlo al cuadro de diálogo de configuración correcto.

Si tiene Windows 10, Microsoft lo ha bendecido con una nueva interfaz de usuario elegante Para editar PATH. De lo contrario, verá PATH en todo su esplendor con incrustaciones de punto y coma, comprimidos en un cuadro de texto de una sola línea. Haga todo lo posible para realizar las ediciones necesarias sin dañar su sistema.

Mirar PATH. Casi definitivamente tienes dos PATH variables (debido a las variables de entorno del usuario frente al sistema). Tienes que mirar a ambos.

Comprobar otras rutas de Java y quítelos. Su existencia puede provocar todo tipo de conflictos. (Por ejemplo, si tiene JRE 8 y JDK 11 en PATH, en ese orden, entonces javac invocará el compilador de Java 11, que creará la versión 55 .class archivos, pero java invocará Java 8 JVM, que solo admite hasta la versión 52, y experimentará errores de versión no admitidos y no podrá compilar ni ejecutar ningún programa). Evite estos problemas asegurándose de que solo tiene una ruta de Java en PATH. Y mientras estás en eso, también puedes desinstalar versiones antiguas de Java, también. Y recuerde que no es necesario tener tanto un JDK como un JRE.

Si usted tiene C:ProgramDataOracleJavajavapath, quitar eso también. Oracle tenía la intención de resolver el problema de las rutas de Java que se rompen después de las actualizaciones mediante la creación de un enlace simbólico eso siempre apuntaría a la última instalación de Java. Desafortunadamente, a menudo termina apuntando a la ubicación incorrecta o simplemente no funciona. Es mejor eliminar esta entrada y administrar manualmente la ruta de Java.

Ahora también es una buena oportunidad para realizar tareas de limpieza general en PATH. Si tiene rutas relacionadas con el software que ya no está instalado en su PC, puede eliminarlas. También puedes cambiar el orden de los caminos (si te preocupan cosas como esa).

Ahora tome la ruta de Java que encontró hace tres pasos y colóquela en el sistema PATH.

No debería importar en qué lugar de la lista vaya su nueva ruta; colocarlo al final es una buena elección.

Si está utilizando la interfaz de usuario anterior a Windows 10, asegúrese de haber colocado los puntos y comas correctamente. Debe haber exactamente uno que separe cada ruta de la lista.

Realmente no hay mucho más que decir aquí. Simplemente agregue la ruta a PATH y haga clic en Aceptar.

Mientras lo hace, también puede establecer JAVA_HOME así como. Esta es otra variable de entorno que también debe contener la ruta de Java. Muchos programas Java y no Java, incluidos los populares sistemas de compilación Java Maven y Gradle, arrojará errores si no está configurado correctamente.

Si JAVA_HOME no existe, créelo como una nueva variable de entorno del sistema. Configúrelo en la ruta del directorio Java sin el bin/ directorio, es decir C:Program FilesJavajdkxxxx.

Recuerda editar JAVA_HOME también después de actualizar Java.

Aunque has modificado PATH, todos los programas en ejecución, incluido cmd, solo ven el antiguo PATH. Esto se debe a que la lista de todas las variables de entorno solo se copia en un programa cuando comienza a ejecutarse; a partir de entonces, solo consulta la copia en caché.

No hay una buena manera de actualizar las variables de entorno de cmd, así que simplemente cierre el símbolo del sistema y ábralo nuevamente. Si está utilizando un IDE, ciérrelo y vuelva a abrirlo también.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

tkpanedwindow

Python 3 – Tkinter PanedWindow

P8uQhBPU2gJ2fX6LtwU2Xk 1200 80

Las mejores linternas verdes de todos los tiempos