javac no se reconoce como un comando interno o externo, un programa ejecutable o un archivo por lotes {DH}

Para lectores experimentados:

  1. encontrar la ruta de Java; Se parece a esto: C:Program FilesJavajdkxxxxbin
  2. Busque «variable de entorno» en el menú de inicio para abrir el cuadro de diálogo de opciones.
  3. revisión PATH. Elimine las antiguas rutas de Java.
  4. Agregar la nueva ruta de Java PATH.
  5. Para editar JAVA_HOME.
  6. Cierre y vuelva a abrir la consola/IDE.

¡Cálida bienvenida!

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

en una palabra, No has instalado Java correctamente. Completar 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 entiende esto, puede omitir las siguientes tres secciones).

cuando corres javac HelloWorld.javacmd debe determinar dónde javac.exe se encuentra. Esto se logra con PATHuna variable de entorno.

A Variable ambiental es un par clave-valor especial (por ejemplo, windir=C:WINDOWS). La mayoría vienen con el sistema operativo y algunos son necesarios para que el sistema funcione correctamente. Se pasa una lista de estos a cada programa (incluido cmd) al inicio. Hay dos tipos en Windows: Variables de entorno de usuario Y Variables de entorno del sistema.

Puede ver sus variables de 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 busca en cada directorio de la lista 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.javacmd, date cuenta de que javac no es un comando interno, busca en el sistema PATH seguido por el usuario PATH. Entra automáticamente en todos los directorios enumerados y comprueba si javac.com, javac.exe, javac.batetc está presente. Si tu encuentras javac, elabora. Si no, se imprimirá 'javac' is not recognized as an internal or external command, operable program or batch file.

Necesita agregar el directorio de ejecutables de Java PATH.

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

Cuando descarga Java, tiene la opción de:

  • Java Runtime Environment (JRE), que contiene las herramientas necesarias para ejecutar programas Java, pero no recompilar – contiene java pero no javac.
  • el Java Development Kit (JDK), que incluye tanto java Y javac, junto con una variedad de otras herramientas de desarrollo. El JDK es un superconjunto del JRE.

tienes que asegurarte tienes el jdk instalado. Si solo tiene instalado el JRE, no podrá ejecutarlo javac porque no tiene una instalación del compilador de Java en su disco duro. Consulte la lista de programas de Windows y asegúrese de que el nombre del paquete de Java contenga las palabras «Kit de desarrollo».

(Si no iba a hacer esto de todos modos, no dude en omitir esta sección).

Varias otras respuestas recomiendan ejecutar una 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 este comando:

  1. este comando borrar todo lo demás de PATH y reemplácelo con la ruta de Java. Después de ejecutar este comando, es posible que otros comandos no funcionen.
  2. tu ruta java Probablemente no C:Program FilesJavajdk1.7.0_09bin – Es casi seguro que tiene una versión más nueva del JDK que tendría una ruta diferente.
  3. El nuevo PATH se aplica solo a la sesión cmd actual. Tienes que volver a ingresarlo set Comando cada vez que abra el símbolo del sistema.

El problema de los puntos n.° 1 y n.° 2 se puede 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 en general es una mala idea.

La forma correcta comienza por averiguar dónde instaló Java. esto depende Qué Tienes Java instalado.

instalador exe

Instaló Java ejecutando un programa de instalación. El instalador de Oracle inserta las versiones de Java C:Program FilesJava (o C:Program Files (x86)Java). Navegue a este directorio usando el Explorador de archivos o el Símbolo del sistema.

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

Luego ingrese el bin directorio de la misma.

Ahora estás 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, copie el símbolo del sistema.

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

C:Program FilesJavajdkxxxxbin

archivo zip

Ha descargado un archivo zip que contiene el JDK. Extráigalo a una ubicación aleatoria donde no se interponga en su camino. C:Java es una opción aceptable.

Entonces búscalas bin carpeta en algún lugar dentro.

Ahora estás en el directorio correcto. Copia tu ruta. Esta es la ruta de Java.

Recuerde nunca mover la carpeta ya que esto invalidaría la ruta.

8RT5nyy

Este es el diálogo para editar. PATH. Existen numerosas formas de llegar a este cuadro de diálogo, dependiendo de su versión de Windows, la configuración de su interfaz de usuario y cuán desordenada esté la configuración de su sistema.

Pruebe algunos de estos:

  • Menú de inicio/campo de búsqueda de la barra de tareas » buscar »variable de entorno«
  • Victoria + R » control sysdm.cpl,,3
  • Victoria + R » SystemPropertiesAdvanced.exe » Variables de entorno
  • Escriba Explorador de archivos » 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 derecho en esta PC» Propiedades »Configuración avanzada del sistema» Variables de entorno
  • Menú Inicio »Clic derecho en la computadora» Propiedades »Configuración avanzada del sistema» Variables de entorno
  • Panel de control (modo 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 derecho en Mi PC » Avanzado » Variables de entorno
  • Panel de control »Sistema» Avanzado »Variables de entorno

Ambos deberían llevarlo al cuadro de diálogo de configuración correcto.

Si tiene Windows 10, Microsoft lo ha bendecido con una nueva interfaz de edición elegante PATH. de lo contrario verás PATH en todo su esplendor incrustado de punto y coma, comprimido en una sola línea de texto. Haz tu mejor esfuerzo para hacer los cambios necesarios sin dañar tu sistema.

Mirar PATH. casi seguro que tienes dos PATH Variables (debido a las variables de entorno del usuario frente al sistema). Tienes que mirar a los dos.

Controlar otras rutas de Java y eliminarlos. Su existencia puede causar todo tipo de conflictos. (Por ejemplo, si tiene JRE 8 y JDK 11 habilitados PATHasi que en este orden javac llama al compilador de Java 11 que construye la versión 55 .class archivos, pero java llama a Java 8 JVM, que solo admite hasta la versión 52 y se producen errores de versión no compatibles y no se pueden compilar ni ejecutar programas). Evite estos problemas asegurándose de tener solo una ruta de Java PATH. Y mientras lo hace, también puede desinstalar versiones antiguas de Java. Y recuerda, no tienes que 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 que siempre apuntaría a la última instalación de Java. Desafortunadamente, a menudo apunta a la ubicación incorrecta o simplemente no funciona. Es mejor eliminar esta entrada y administrar la ruta de Java manualmente.

Ahora también es un buen momento para realizar tareas generales de limpieza en PATH. Si tiene rutas a software que ya no está instalado en su PC, puede eliminarlo. También puede cambiar el orden de las rutas (si esas cosas son importantes para usted).

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

No debería importar dónde vaya su nueva ruta en la lista; colocarlo en último lugar es una buena opció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 en la lista.

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

Ya que estás en eso, también puedes contratar JAVA_HOME tanto 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, arrojan errores si no se configuran correctamente.

JAVA_HOME no existe, créelo como una nueva variable de entorno del sistema. Póngalo en la ruta del directorio java sin el bin/ directorio, es decir C:Program FilesJavajdkxxxx.

Recuerda editar JAVA_HOME incluso después de la actualización de Java.

Aunque hayas cambiado PATHtodos los programas en ejecución, incluido cmd, solo ven el anterior PATH. Esto se debe a que la lista de todas las variables de entorno solo se copia en un programa cuando se inicia; Después de eso, solo consulta la copia en caché.

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


referencias:
javac no se reconoce como un comando interno o externo, un programa ejecutable o un archivo por lotes {DH}

Deja una respuesta

Tu dirección de correo electrónico no será publicada.