15 enero, 2013

Cómo Compilar y Ejecutar archivos Java desde la Consola (cmd) en Windows (Todas las Versiones)

Cómo Compilar y Ejecutar archivos Java desde la Consola (cmd) en Windows (Todas las Versiones)


Buenas noches a todos, en este post les voy a compartir como podemos compilar y ejecutar archivos de java desde la Consola de Windows (cmd o símbolo del sistema), esto sirve para todas las ediciones de Windows (probado desde Windows XP hasta Windows 8).

Lo primero que debes hacer es tener le última versión estable del JDK, la cual te puedes bajar del sitio web oficial:
Una vez que lo hayas bajado e instalado correctamente, procede a buscar la ruta de instalación por ejemplo:
1 | C:\Program Files\Java\jdk1.7.0_02\bin

Esa dirección es la ruta que tendremos que agregar a la variable de entorno Path, para ello debemos ir a:
Mi PC -> Click derecho -> Propiedades -> [Pestaña] Opciones Avanzadas -> Variables de Entorno

Equipo -> Click derecho -> Propiedades -> Configuración Avanzada del Sistema -> [Pestaña] Opciones Avanzadas -> Variables de Entorno

Buscamos en el cuadro mostrado la variable de nombre Path, presionamos Editar, en el cuadro mostrado, nos vamos hasta el final del texto que ya está escrito y agregamos lo siguiente sin las comillas:
";C:\Program Files\Java\jdk1.7.0_02\bin;"

Quedando algo similar a lo mostrado en la siguiente imagen:
Editando la Variable de Entorno Path, para agregar Java (Windows 7)

Una vez que hayamos añadido la ruta, presionamos OK, luego nuevamente OK e iniciamos una consola (cmd) y escribimos javac, nos debería salir algo así:
Ejecución de Javac desde el CMD (Windows 8)

Si te salió algo similar a la imagen superior es que el proceso se realizó correctamente y que Java está bien instalado y configurado en tu computador, como simple prueba de concepto vamos a crear un Hola Mundo.

Abrimos el Bloc de Notas (Como saben, no se requiere de un IDE al 100% para programar en Java), y escribimos el siguiente código:

1
2
3
4
5
6
7
class HolaMundo
{
public static void main(String[] args)
{
System.out.println("Hola Mundo!");
}
}

Luego guardamos el archivo con el nombre "HolaMundo.java", en mi caso lo guardé en la raíz del disco duro, es decir en: "C:\HolaMundo.java", para compilarlo ejecutamos la siguiente sentencia:

javac HolaMundo.java

Esto nos genera un archivo HolaMundo.class, y para ejecutar el código compilado en la Consola escribimos:

java HolaMundo

Muy importante, no se coloca la extensión del archivo (es decir el .class)


En la siguiente entrada publicaré como crear a partir de lo que tenemos hasta ahora un archivo.jar y así mismo como ejecutarlos desde la línea de comandos.

66 comentarios:

  1. ayuda!! mi cuenta de usuario es un administrador, tengo windows 7; pero no me permite modificar el contenido de dichas variables......en PROPIEDADES DEL SISTEMA solo me muestra dos pestañas y ni una de ellas es la de OPCIONES AVANZADAS. Es como si mi usuario fuera un "administrador" endemoniadamente limitado.

    ResponderBorrar
    Respuestas
    1. Hola cHSa, por favor sube una captura de pantalla de lo que me mencionas y publicas el link en otro comentario, con eso sabré que está pasando en tu SO.

      Borrar
  2. hola man disculpa como sacaste la ruta de el java la que pegas en el path?? lo que pasa es que uso el net.beans y no se donde lo encuentro para tomar la direccion de el jdk.

    buena noche

    ResponderBorrar
    Respuestas
    1. Hola Juan, la ruta que se está utilizando como "path" es la dirección donde tu instalaste el JDK, para eso puedes revisar tus directorios en Windows:
      Archivos de Programa
      Archivos de Programa (x86)

      Eso si tu sistema está en español, sino los buscas en inglés (Program Files), normalmente se instalan en esas carpetas, a menos que tu hayas indicado lo contrario.

      Saludos!

      Borrar
  3. hola, gracias por el dato. por casualidad sabes como hacer para que al ejecutar por la linea de comando el me almacene los errores en un txt

    ResponderBorrar
    Respuestas
    1. Puedes hacer desde tu programa en Java que cuando haya en error este se mande a un archivo, para lo cual te recomiendo: http://gl-epn-programacion-ii.blogspot.com/2011/03/escritura-de-un-archivo-en-java.html

      O también algo muy común es utilizar algo así:
      > java HolaMundo > errores.txt

      Saludos!

      Borrar
  4. Que tal, oye tengo un problema, al momento de compilar no marca error, pero cuando lo quiero correr me dice que no se ha cargado o encontrado la clase principal, sabes a que se debe esto?

    ResponderBorrar
    Respuestas
    1. Hola Gerar, revisa si seguiste todos los pasos del post, y si no puede que te funcione mejor si generas un JAR con un archivo mf donde especificas la clase principal, más info acá: http://gl-epn-programacion-ii.blogspot.com/2013/02/como-crear-un-jar-con-java-desde-la.html

      Borrar
  5. Hola me gusta mucho que vayas paso a paso, una pregunta, como busco mi archivo class?? muchas gracias

    ResponderBorrar
    Respuestas
    1. Hola Ducsipu, gracias por comentar, tu archivo class se encuentra en la misma carpeta donde está el código java.

      Saludos!

      Borrar
  6. holo quiero que me ayuden a generar el .class con el nombre que quiero
    ya no quiero que genere con holamundo.class
    ayuda por favor

    ResponderBorrar
    Respuestas
    1. Hola Audex, el archivo .class se genera con el nombre que tengas de tu clase .java si lo cambias entonces el .class cambiará también.

      Borrar
  7. hola, problemilla XD, cuando en cmd pongo javac HolaMundo.java no me encuentra el archivo, dice: "javac: file not found: HolaMundo.java". ???
    Ayuda,pls
    gracias

    ResponderBorrar
  8. Eso es porque tu java no está registrado en las variables de entorno, revisa el post paso a paso, y te saldrá todo bien!! =)

    ResponderBorrar
  9. Hermano me salvaste, llevaba días con este problema y nadie me podía ayudar...o por lo menos no les entendía....Muchísimas gracias

    ResponderBorrar
    Respuestas
    1. Hola Julio César, gracias por tus palabras, me alegra que te haya servido, suerte!! =)

      Borrar
  10. ayuda por favor, cuando ejecuto la orden:
    C:\>javac pruebaPersona.java
    "javac" no se reconoce como un comando interno o externo,
    programa o archivo por lotes ejecutable

    necesito ayuda
    me parece que no he colacodo bien la ruta, pero lo he revisado varias veces y creo que esta bien. Tengo windows vista
    ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    gracias de antemano

    ResponderBorrar
    Respuestas
    1. Si te sale ese mensaje, eso indica que las variables de entorno de Java no están registradas, intenta nuevamente, sigue la guía paso a paso y no tendrás dificultades, caso contrario, sube una captura de pantalla. =)

      Borrar
    2. Yo he seguido la guia y estando en su mismo caso, pregunto, ¿que mas puede afectar además de la path?

      Mi path es: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\Program Files\Java\jdk1.8.0_40\bin;

      La parte final es donde está esa version de jdk (quiero decir, que he comprobado que la ruta es buena y los numeros y puntos de la version están bien escritos) y dentro el javac.exe que funciona bien, he comprobado que es problema de path o similar, por que en esa carpeta compila.

      Tb he comprobado que esa jdk es para mi plataforma de 64 bits, que fue bien instalada etc. ¿Donde puede estar la cosa? ¿No puede haber algun caso de error mas allá de este caso típico?

      Gracias

      Borrar
    3. Hola, si dentro de la carpeta si funcionan, de ley es un problema del PATH, verifica si el "Program Files" que estás usando es de 32 o 64bits, me refiero al nombre de la carpeta.

      Saludos!

      Borrar
  11. Respuestas
    1. Hola, gracias por comentar, me alegra que te haya sido de ayuda la explicación.

      Saludos! =)

      Borrar
  12. hola me puedes ayudar..cuando compilo java HolaMundo me dice que no encuentra la clase

    ResponderBorrar
    Respuestas
    1. Hola, entonces verifica el nombre que le pusiste a la Clase al momento de crear el Proyecto....

      Borrar
  13. Hola Galo! Tengo un archivo .jar el cual abrí con winrar para modificar uno de sus archivos .java Cómo le hago para recompilarlo?

    En otro intento, descompileé el mismo archivo usando DJ Java Decompiler pero, la pregunta persiste Cóm lo recompilo?

    ResponderBorrar
    Respuestas
    1. Hola Hector, tengo entendido que si modificaste el código al extraer del archivo .jar los .java, la única manera de compilar el código es a través de un IDE de Java....es decir de los más populares: Eclipse o Netbeans.

      Borrar
  14. Hola ya seguí paso a paso tu post pero me sig saliendo que no se encuentra el archivo HolaMundo.java ya puse el path como lo tienes :S

    ResponderBorrar
    Respuestas
    1. Hola Edgar, para eso debes estar seguro de que en la línea de comandos (cmd), te encuentres en el directorio donde está el archivo HolaMundo.java, si usaste un IDE como Netbeans o Eclipse, tendrás que buscar en la carpeta de los proyectos o en el workspace para que funcione.

      Saludos!

      Borrar
  15. hola me funciona perfectamente, el problema es que cuando trato de usar otros comandos como ifconfig/ all, y otros comandos no me funcionan

    ResponderBorrar
    Respuestas
    1. Hola Alex, eso que mencionas es muy extraño, a menos que no estés saliendo del Programa, los comandos del cmd deberían funcionar normalmente, por tanto revisa si después de ejecutar tu aplicación, retornas al prompt del sistema, que en el caso de ejemplo sería así:

      C:\> --> Este es el prompt en la captura de pantalla del post.

      Saludos!

      Borrar
  16. Yo soy nuevo en esto, ya configure... todo bien... cuando quiero compilar mi prueba me sale que no encuentra el archivo x__x

    Miralo aqui si gustas
    [IMG]http://i.imgur.com/Th4ZZpt.png[/IMG]

    ResponderBorrar
    Respuestas
    1. Hola Daniel, según se observa en la imagen, en tu línea de comandos te encuentras en la carpeta "Daniels", por tanto, el comando: "javac Suma.java" solo funcionaría si el archivo Suma.java se encuentra en esa carpeta, caso contrario dará el error que tienes actualmente, verifica en que carpeta se encuentra el archivo y navega con el comando "cd" hasta esa carpeta.

      Saludos!

      Borrar
  17. como ejecutar un sistema .jar en otra maquina (PC)

    ResponderBorrar
    Respuestas
    1. Hola Antonio,

      Con respecto a tu pregunta, según lo que entendí fue:
      "Cómo ejecutar un archivo compilado de java con extensión .jar en otro computador con Sistema Operativo Windows/Linux/Mac?"

      La respuesta es, Java es multiplataforma, si compilas una sola vez el código, este funcionará correctamente en cualquier otro computador que tenga instalado el JDK y si agregaste alguna dependencia especial, esta también deberá estar presente en el sistema a donde quieras migrar tu aplicación, espero tu sirva.

      Saludos!

      Borrar
  18. Disculpa Galo Latorre, soy nuevo en java y estoy aprendiendo a como generar interfaz grafica pero resulta que despues de cerrar la ventana de la interfaz el cmd sigue ejecutando el comando java como podria cerrar la ventana y seguir ejecutando el mismo cmd.

    ResponderBorrar
    Respuestas
    1. Hola Josue, podrías cancelar la ejecución con la combinación de teclas: Ctrl + C

      Espero que te sirva, saludos!!

      Borrar
  19. necesito ayuda mi archi de java a ejecutar esta guardado en el disco local pero en una carpeta con el nombre de "j" como ago para ejecutar el archivo

    ResponderBorrar
    Respuestas
    1. Hola chicos, necesitan entrar a la carpeta con ese nombre y ejecutar los comandos explicados en el post, para cambiar de carpeta por la línea de comandos, se usa "cd".

      Saludos!

      Borrar
  20. Buenas amigo.
    El problema es que no puedo ejecutar codigo java desde cmd cuando trato de hacerlo cmd me abre la ventana de abrir con... (para elegir abrir el archivo con un programa), en vez de ejecutar el código, la verdad estoy confundido no se que puede estar mal para que cmd no ejecute el codigo, espero me de a entender y me puedas ayudar.

    ResponderBorrar
    Respuestas
    1. Hola Hector,
      Con respecto a tu problema, por favor sube una captura para tener más claro lo que está sucediendo, a mi parecer lo que haces es llamar al archivo desde el cmd sin los comandos apropiados, por tanto Windows no reconoce el tipo de archivo y por eso se te muestra el mensaje "Abrir con".

      Saludos!

      Borrar
  21. muchas gracias por tus instrucciones

    ResponderBorrar
    Respuestas
    1. De nada, me alegra que te hayan servido.

      Saludos!! =)

      Borrar
  22. hola como puedo adjuntar una imagen a esta pagina para mostrarte el error? o a donde te mando la imprecion de pantalla?
    gracias.

    ResponderBorrar
    Respuestas
    1. Hola Charly,

      Puedes subir a captura a cualquier servidor de imágenes y luego compartes el link en el blog como comentario.

      Saludos!

      Borrar
  23. hola dende te puedo mandar la captura de pantalla para q veas mi error?

    ResponderBorrar
    Respuestas
    1. Hola Charly,

      Puedes subir a captura a cualquier servidor de imágenes y luego compartes el link en el blog como comentario.

      Saludos!

      Borrar
  24. Al ejecutar el programa java Hola, me manda error: El sistema no puede encontrar el archivo C:/Programa/Oracle/Java/javapatch/java.exe

    ResponderBorrar
    Respuestas
    1. Hola Juan,

      Al parecer la ruta que configuraste para el ejecutable de java.exe no es la correcta, revisa el directorio donde lo instalaste y redirecciona a esa carpeta.

      Saludos!

      Borrar
  25. Mi sistema es windows 8.1, borré lo que estaba antes en Path :( y ahora no me compila, sale error.... alguna solución?? estoy desesperada

    ResponderBorrar
    Respuestas
    1. Hola Stephanie,

      La verdad la variable PATH depende de lo que tengas instalado en tu equipo así que será distinto del mío, aunque por si acaso hice una recopilación de lo más común que puedes necesitar en la variable PATH:

      C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

      Prueba con eso y me avisas que tal te fue.

      Saludos y espero te sirva.

      Galo

      Borrar
  26. Mi sistema es windows 8.1, borré lo que estaba antes escrito en Path y ahora sale error cuando compilo :( ayuda!!

    ResponderBorrar
    Respuestas
    1. Hola Stephanie,

      La verdad la variable PATH depende de lo que tengas instalado en tu equipo así que será distinto del mío, aunque por si acaso hice una recopilación de lo más común que puedes necesitar en la variable PATH:

      C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;

      Prueba con eso y me avisas que tal te fue.

      Saludos y espero te sirva.

      Galo

      Borrar
  27. Respuestas
    1. Hola, de nada, me alegra que te haya servido bastante, igualmente te agradezco por haber dedicado tiempo para comentar al respecto.

      Saludos! =)

      Borrar
  28. Muchas gracias, me ha servido mucho

    ResponderBorrar
    Respuestas
    1. Hola, gracias por comentar, me alegra que te haya sido de ayuda la explicación.

      Saludos! =)

      Borrar
  29. Me fue de mucha ayuda, muchas gracias!!

    ResponderBorrar
    Respuestas
    1. Hola Denilson, gracias por comentar, me alegra que te haya sido de ayuda la explicación.

      Saludos! =)

      Borrar
  30. funciono a la perfección amigo, aclaraste dudas que no lograba entender de otras fuentes...

    ResponderBorrar
    Respuestas
    1. Hola Michel, gracias por tu comentario, me alegro que te haya servido!!

      Saludos! =)

      Borrar
  31. Hola tuve un problema en una de mis computadoras cuando cambie el patch pero todo bien ahora puedo invocar el comando javac para compilar además crear el fichero .class y el comando java para ejecutar el programa. Muchas gracias

    ResponderBorrar
    Respuestas
    1. Hola Felipe,

      Me alegra que te haya servido, gracias por comentar. =)

      Saludos!!

      Borrar
  32. Hola me podrían ayudar con el comando para ejecutar java 3D en windows.
    Porfavor!!

    ResponderBorrar
    Respuestas
    1. Hola Brenda,

      Gracias por comentar, con respecto a tu pregunta, tengo entendido que Java 3D es el mismo proceso. Y si ya está compilado como un archivo JAR, entonces puedes usar:

      Para ejecución: java -jar miPrograma.jar

      Espero que te sirva, saludos!! =)

      Borrar
  33. Respuestas
    1. Hola, gracias por comentar, me alegra que te haya sido de utilidad.

      Saludos!!

      Borrar