Compilar y ejecutar JAVA en CMD (Windows 7)
Para aquellos que habéis utilizado algún IDE de desarrollo para JAVA, sabréis que este simplifica mucho el proceso de compilación y ejecución de nuestros programas, tan solo presionando un botón ya se crean nuestros archivos de Bytecode .class y .jar, y directamente se ejecutan en la consola del IDE.
Yo empecé con JAVA de esta manera, con el IDE Netbeans y pasado un tiempo, decidí pasarme a programar con Notepad++ para no tener las cosas tan fáciles y aprenderme de memoria por lo menos las clases más importantes.
Sea como fuere, tuve que empezar a compilar y ejecutar mis programas en la consola CMD de Windows, algo muy sencillo, pero que me acostó aprender ya que no encontraba información por ningún lado de cómo hacerlo. Lo primero que debemos hacer es compilar nuestro archivo .java, para convertirlo en código reconocible por la máquina virtual de JAVA, para ello utilizaremos el comando javac.
NOTA IMPORTANTE
Si al introducir javac en vuestro CMD, este no lo reconoce, debemos modificar la variable de entorno del sistema Path de la siguiente manera:
FIN NOTA
Con los comandos del JDK operativos, procedemos a compilar nuestro archivo .java introduciendo el comando javac NombreArchivo.java, de esta manera, si el programa está bien, y no nos sale ningún error de compilación, se generará nuestro archivo .class que es nuestro programa en java compilado.
Por último solo nos queda ejecutar nuestro programita con el comando java NombreClase, ten en cuenta que el nombre de la clase debe coincidir con el nombre del archivo, que ambos deben empezar por una letra mayúscula y que al ejecutar el programa con el comando java, NO se pone la extensión del archivo, tan solo el nombre de la clase pública que contiene el archivo .class, que será igual a su nombre.
Yo empecé con JAVA de esta manera, con el IDE Netbeans y pasado un tiempo, decidí pasarme a programar con Notepad++ para no tener las cosas tan fáciles y aprenderme de memoria por lo menos las clases más importantes.
Sea como fuere, tuve que empezar a compilar y ejecutar mis programas en la consola CMD de Windows, algo muy sencillo, pero que me acostó aprender ya que no encontraba información por ningún lado de cómo hacerlo. Lo primero que debemos hacer es compilar nuestro archivo .java, para convertirlo en código reconocible por la máquina virtual de JAVA, para ello utilizaremos el comando javac.
NOTA IMPORTANTE
Si al introducir javac en vuestro CMD, este no lo reconoce, debemos modificar la variable de entorno del sistema Path de la siguiente manera:
- En el panel de control accedemos a Sistema, y en la parte izquierda de la ventana que aparecerá pinchamos en Configuración avanzada del sistema.
- En la nueva ventanita, pinchamos en Variables de entorno… que está en la parte inferior.
- En la parte de debajo de la nueva ventana, en la sección Variables del sistema, buscamos y hacemos doble click en la variable llamada Path, para editarla.
- Por último solo nos queda añadir al final del valor de la variable, un punto y coma y la ruta de vuestra carpeta \bin que está dentro del directorio del JDK, y este a su vez suele estar en C:\archivos de programa o C:\program files como veis que es mi caso.
FIN NOTA
Con los comandos del JDK operativos, procedemos a compilar nuestro archivo .java introduciendo el comando javac NombreArchivo.java, de esta manera, si el programa está bien, y no nos sale ningún error de compilación, se generará nuestro archivo .class que es nuestro programa en java compilado.
Por último solo nos queda ejecutar nuestro programita con el comando java NombreClase, ten en cuenta que el nombre de la clase debe coincidir con el nombre del archivo, que ambos deben empezar por una letra mayúscula y que al ejecutar el programa con el comando java, NO se pone la extensión del archivo, tan solo el nombre de la clase pública que contiene el archivo .class, que será igual a su nombre.
Compilar y ejecutar el programa Prueba.java |
Muy útil, sobre todo la nota, ya que mi CMD no cargaba el comando "javac". Sigue así! :D
ResponderEliminarMe sirvió de mucho. Buen aporte
ResponderEliminarMuy bueno!!!
ResponderEliminarGRACIASSSS GRACK
ResponderEliminarMuy buen aporte. no me cargaba el comando javac
ResponderEliminarMuy buen aporte. no me cargaba el comando javac
ResponderEliminargraciassssssssssss!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! aunk no fuiste especifico en que debia copiar toda la direccion me costo eso jiji :p
ResponderEliminarHola, que pasa si no compilo desde la carpeta c:\Users\alejandro\Desktop, si no que compilo desde la carpeta c:\ por ejemplo, esto se puede, porque lo he intentado con el -cp pero no me deja.
ResponderEliminargracias!!!!
Pues si has configurado bien la variable de entorno, no debería de darte problemas, ya que con esto da igual en que carpeta estés, al introducir "javac -version" por ejemplo, el sistema debe de reconocer el comando y devolver la versión del jdk instalada.
EliminarEso si, tienes que respetar si estás utilizando algún package en tu aplicación, y la ruta de la clase que contiene el método main. Por ejemplo, si tu fichero .java esta en C:\ y no usas packages, pues te vas a ese directorio con:
cd c:\
Y seguidamente ya podrás compilar y ejecutar tu aplicación con:
javac Archivo.java
java Archivo
muchas gracias a mi me funciona java -jar Nombre.clase (nombre archivo con extencion) pero me sirbio aprender a editar el servicio para ejecutar los comandos
ResponderEliminarexelente!
ResponderEliminara
ResponderEliminarexcelente aporte me funcionó perfecto, gracias.
ResponderEliminarMuchas gracias por este post. Estaba volviéndome loco preguntándome por qué salía el error "No se ha encontrado o cargado la clase principal" y resulta que lo único que sobraba era el CLASSPATH (no sé por qué en otras webs recomiendan crear esa variable de entorno) y la extensión del archivo XD
ResponderEliminarTuve el mismo problema "error: no se ha encontrado o cargado la clase principal ..." y desinstale los JDKs y todo pero nada, el error seguia ... Este comentario tiene la razon xD ... borre el CLASSPATH de las variables de entorno del sistema y problema resuelto. Gracias!
EliminarYo no tengo la variable CLASSPATH, pero aún así me sale el "error: no se ha encontrado o cargado la clase principal ...".
EliminarPocas veces uno se encuentra con blogs muy bien explicados.
ResponderEliminarGracias Alejandro Santiago.
gracias por el aporte me ayudó mucho
ResponderEliminaraprecio este trabajo...
Estmado, que pasa si quiero usar una clase de esa forma pero necesito usar clases de un paquete, ¿cómo los agrego al .class?
ResponderEliminarEXELENTE ESTO ME SIRVIO DE MUCHO PORQUE NECESITABA UN PROGRAMA LIGERO ARA PODER CODIFICAR Y PARA COMPILAR MI CODIGO MUCHISIMAS GRACIAS.
ResponderEliminary UNA PREGUNTA MAS SABES COMO HARIAS PARA COMPILAR UN *.vb SON LOS DE VISUAL BASIC
Nunca he programado en Visual Basic de modo que no te puedo ayudar personalmente, en cambio he encontrado información al respecto de como compilar nuestros archivos .vb desde la linea de comandos utilizando el compilador de Visual Basic, espero que te sea de ayuda:
Eliminarhttp://stackoverflow.com/questions/7215273/is-there-a-vb-net-compiler-to-download
http://nickmasao.wordpress.com/2008/08/12/running-a-vbnet-program-with-command-line-arguments/
http://msdn.microsoft.com/en-us/library/4dehewf5.aspx
En el primer enlace comentan donde suele estar situado el compilador.
En el segundo se explica como añadir la ruta del compilador como una variable de entorno en Windows, de modo que cuando en el CMD utilices vbc se llame al compilador y no tengas que utilizar la ruta real del compilador cada vez que quieras utilizarlo.
Y en el tercero como utilizar el compilador para producir de un archivo a.vb un archivo .exe, .dll y demás, en tu caso tu utilizarías la tercera fila de la columna ( vbc /out:My.exe File.vb ), de modo que crearías tu ejecutable My.exe desde tu código fuente File.vb
Siento no poder serte de más ayuda, saludos.
Hola como compilo archivos de netbeans en cmd pero que tengan clases
ResponderEliminarRealmente no es necesario ejecutar programas en cmd si usas Netbeans ya que este cuenta con herramientas para compilar y ejecutar todo tipo de programas correctamente, incluso su consola admite entrada de datos por teclado.
EliminarSaludos
hola, espero me puedas ayudar, que sucede cuando se programa orientado a objetos y hay muchas class, luego cuando se trata de ejecutar como normalmente se hace (java "nombre del archivo class") lanza errores por la referencia que se hacen a otras clases, o si se ejecuta un clase que no es el main, lanza obiamente el error de que no encontro el main. creo ya sabes a que me refiero, que puedo hacer?
ResponderEliminartodo esto sin IDE, solo bloc y cmd xd
EliminarSi no estás utilizando ningún package, tan solo debes de compilar con javac la clase que contiene el main, y ejecutarlo luego con java ya sin extensión, un ejemplo puede ser:
Eliminarjavac Main.java
java Main
La primera instrucción compila nuestro programa (Si Main.java utiliza otras clases, estas se compilarán automáticamente), la segunda instrucción ejecutará el fichero Main.class creado teniendo en cuenta que se omite el .class de modo que solo queda en java Main.
Si utilizas un package llamado prueba por ejemplo, se haría así:
javac prueba/Main.java
java prueba.Main
Saludos
También había tenido esa duda, yo compilaba los archivos de cada clase y siempre me resultaba error.
EliminarGracias por ese aporte.
graaaaaaaaaaaaaaaaaaaciiiiiiiiiiiiiasssssssssss 1 semana buscando la solución....
ResponderEliminaresta es la solución para cuando quieras ejecutar un . jar desde otra aplicación en mi caso soluciono la de un programa realizado en visual basic que ejecutaba un .jar muchas gracias :)
ResponderEliminar¿COMO HAGO? para que al momento de compilar un .java, este me reconozca librerias externas que he importado, es decir, archivos .jar que no vienen en el core de Java al momento de Instalarlo.
ResponderEliminarTrate de compilar mi programa desde cmd y me manda muchos errores, el punto esta en que si lo ejecuto directamente desde Java me lo ejecuta sin ningún problema. Alguien puede decirme a que se debe?
ResponderEliminarGRACIAS MIL!!!!!!!!!!!! Te amo! ;-D
ResponderEliminarGracias, luego de buscar por 1 semana al fin pude :)
ResponderEliminarHola amigo, tengo una duda, en mi variable de sistema Path me aparece con este valor: C:\PROGRA~2\Borland\CBUILD~1\Bin;C:\PROGRA~2\Borland\CBUILD~1\Projects\Bpl;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\
ResponderEliminarEsta bien? donde debo poner el "punto y coma" faltante?
Desde Linux también.
ResponderEliminarhttps://www.youtube.com/watch?v=CwbcQVXwvjc
Excelente aporte Gracias.
ResponderEliminarExcelente aporte Gracias.
ResponderEliminarLike!!
ResponderEliminarDiaaaaaaaaaaas Mi problema era al ejecutar mi fichero "PROG01_programa1.java" lo ponía sin mayúsculas!! Mil gracias! LL
ResponderEliminarMuy bueno, me quedo claro con esta explicación.
ResponderEliminarmuchas gracias!! me ayudaste bastante! excelente explicación!
ResponderEliminarExcelente... Muchas Gracias!!! Me fue de mucha ayuda.
ResponderEliminarBuena Ayuda
ResponderEliminarGracias