Javac no se reconoce como un comando interno o externo, un programa operativo o un Batch archivo

Muhammad Zeeshan 12 octubre 2023
  1. Javac en Java
  2. 'javac' no se reconoce como un comando interno o externo, programa ejecutable o Batch archivo
  3. Causas de 'javac' no se reconoce como un comando interno o externo, un programa ejecutable o un Batch archivo
  4. Solución a 'javac' no se reconoce como un comando interno o externo, un programa ejecutable o un Batch archivo
Javac no se reconoce como un comando interno o externo, un programa operativo o un Batch archivo

Este artículo muestra las posibles causas de que “‘javac’ no se reconozca como un comando interno o externo, un programa ejecutable o un Batch archivo” de Java y las posibles soluciones a este error. Para empezar, veamos qué es javac.

Javac en Java

Javac es el principal compilador de Java incluido en el JDK (Java Development Kit) que desarrolló Oracle Corporation. El nombre javac se pronuncia como java-see.

El código fuente debe cumplir con los JLs (estándares del lenguaje Java) para que el compilador lo acepte. Luego, el compilador transforma el código fuente en código de bytes de Java compatible con las JVM (Java Virtual Machine Specification).

Variables de entorno

Un par clave-valor como windir=C:WINDOWS es una variable de entorno. La mayoría de ellos se empaquetaron junto con el sistema operativo y algunos son necesarios para que el dispositivo funcione de la manera prevista.

Cuando se inicia cualquier programa que incluya cmd, se le proporciona una lista de ellos como argumento. Windows proporciona a los usuarios dos opciones de variables de entorno.

  1. Variables de entorno del usuario
  2. Variables de entorno del sistema

'javac' no se reconoce como un comando interno o externo, programa ejecutable o Batch archivo

Este error estándar ocurre en la línea de comandos de Windows cuando escribe un comando que no está presente en el RUTA del sistema. En este caso, el error ocurre porque el comando javac, que se utiliza para compilar archivos fuente Java y crear archivos de clase, no está presente en la RUTA.

El mejor enfoque para verificar esto es usar el siguiente comando.

echo % PATH %

Tiene acceso al directorio bin incluido cuando puede ubicar su carpeta de instalación JDK o JAVA HOME en la variable de entorno PATH. Este directorio contiene todos los binarios java, como los comandos javac y java, que son necesarios para compilar y ejecutar programas Java.

Si ese es el caso, debe agregar la carpeta bin de la carpeta JDK a su PATH. Puede ser que su PATH no contenga el directorio JDK o bin.

Causas de 'javac' no se reconoce como un comando interno o externo, un programa ejecutable o un Batch archivo

Este error ocurre cuando el símbolo del sistema no puede ubicar la variable PATH de Java en su entorno de trabajo actual. Las siguientes son algunas de las posibles razones de esto.

  1. JDK (Java Development Kit) no está en el sistema. Esto generalmente ocurre debido a la falsa suposición del usuario de que el Compilador de Java (javac) está instalado junto con el JRE (Java Runtime Environment).

  2. Parece que no se ha especificado la ruta a javac o que se ha configurado incorrectamente. El sistema debe conocer la ubicación de javac para compilar el código mediante el símbolo del sistema y garantizar que otras utilidades del servidor de aplicaciones funcionen como se espera.

    En este escenario, deberá configurar la ubicación manualmente.

  1. Establecer RUTA con un directorio incorrecto es otra posible causa de error. Por ejemplo, es posible que a la ruta le falte una barra diagonal o que contenga algo completamente diferente.

Solución a 'javac' no se reconoce como un comando interno o externo, un programa ejecutable o un Batch archivo

Resolvamos este problema para que el programa Java pueda compilarse y ejecutarse desde la línea de comandos.

  1. Para abrir el símbolo del sistema en Windows, haga clic en el botón Inicio, seleccione la ventana Ejecutar, escriba sysdm.cpl y haga clic en Aceptar para abrir Propiedades del sistema.
  2. Navegue a la pestaña Avanzado de la ventana Propiedades del sistema y luego haga clic en Variables de entorno.
  3. Haga clic en el botón Nuevo debajo del encabezado Variable del sistema en la ventana Variables de entorno que acaba de aparecer.
  4. En la ventana Nueva variable del sistema, proporcione la variable JAVA_HOME como su nombre y especifique la ruta al directorio que contiene su software JDK como su valor. Simplemente haciendo clic en el botón Aceptar se guardarán los cambios.
  5. Una vez que hayamos navegado de regreso a la ventana “Variables de entorno”, busque una variable llamada “ruta” ubicada debajo del encabezado “Variables del sistema”. Haga clic en el botón Editar mientras selecciona la variable Ruta.
  6. Para crear una nueva variable de entorno, utilice el botón Nuevo en la ventana Editar para la variable.
  7. Después de crear la nueva variable de entorno, asígnele el nombre %JAVA_HOME%\bin y presione la tecla Enter. Después de eso, haga clic en Aceptar.
  8. El entorno Java se configurará después de este paso. Las aplicaciones podrán compilarse desde el símbolo del sistema.

Asegúrese de que la ruta de la variable de entorno de Java esté configurada y lista para usar. Puede verificar si su configuración está funcionando correctamente siguiendo los pasos a continuación.

  1. Para abrir el símbolo del sistema en Windows, haga clic en el botón Inicio, seleccione la ventana Ejecutar, escriba cmd y haga clic en Aceptar.
  2. En la ventana, escriba echo %JAVA_HOME% y luego presione Enter para averiguar qué resultado recibe. Si hay una impresión con el directorio del JDK, puede estar seguro de que JAVAC se está ejecutando correctamente.
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Artículo relacionado - Java Error