elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ¿Cómo correr programa desde la consola de comandos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo correr programa desde la consola de comandos?  (Leído 19,527 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
¿Cómo correr programa desde la consola de comandos?
« en: 27 Agosto 2009, 17:41 pm »

Hola a todos.
Estoy aprendiendo un poco de Java, quisiera saber como ejecutar un programa desde la consola de comandos.
¿Cual es la sintaxis o el programa que me permite eso?
Yo normalmente ejecuto los codigos desde el "runner" de Eclipse.
Estoy en Ubuntu 8.04 - Hardy Heron.



En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #1 en: 27 Agosto 2009, 19:00 pm »

Hola Leo.

Lo primero que debes tener en cuenta es que debes tener instalado el JRE, que puedes buscar desde tus repositorios. Una vez lo tengas, puedes ejecutar tus programas de esta manera:

Para un archivo llamado Programa.class:

Código:
java Programa

Para un archivo JAR:

Código:
java -jar Programa.jar
Un saludo!


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #2 en: 27 Agosto 2009, 19:20 pm »

Hola Casidiablo... ;D
Tambien debes tener compilado tu jar para poder ejecutar programa, para eso en el eclipse hay un asistente que exporta los jar, es facil de usar.
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #3 en: 28 Agosto 2009, 04:27 am »

Es que ese es el probema, creo ya tener todo instalado:

Código:
leo@lein:~/workspace/java/holamundo$ sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
sun-java6-jre ya está en su versión más reciente.
sun-java6-plugin ya está en su versión más reciente.
sun-java6-fonts ya está en su versión más reciente.
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
  lesstif2 libgeomview-1.9.4 winbind
Utilice «apt-get autoremove» para eliminarlos.
0 actualizados, 0 se instalarán, 0 para eliminar y 27 no actualizados.
leo@lein:~/workspace/java/holamundo$

Ahora, este es mi código, "holamundo.java":
Código:
leo@lein:~/workspace/java/holamundo$ ls
holamundo.class  holamundo.java
leo@lein:~/workspace/java/holamundo$ cat holamundo.java
package holamundo;
import java.util.*;
public class holamundo
{
        public static void main(String[] args)
        {
                System.out.println("Hello!\n");
        }
}
leo@lein:~/workspace/java/holamundo$
Al intentar correrlo:
Código:
leo@lein:~/workspace/java/holamundo$ java holamundo.java
Exception in thread "main" java.lang.NoClassDefFoundError: holamundo/java
Caused by: java.lang.ClassNotFoundException: holamundo.java
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: holamundo.java.  Program will exit.
leo@lein:~/workspace/java/holamundo$
¿En que estoy mal?
Eclipse me corre bien el programa.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #4 en: 28 Agosto 2009, 05:30 am »

Sii estas mal
compila primero
javac Hola.java
y luego
java Hola
Adios
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #5 en: 28 Agosto 2009, 06:15 am »

Tuve que instalarlo, no lo tenía.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #6 en: 28 Agosto 2009, 07:57 am »

Hola

Citar
Tuve que instalarlo, no lo tenía.

A que te refieres??

En tu código mire que tienes un
Código:
package holamundo;

No sé si sabes lo que hace esta linea, pues lo unico que hace es guardar tu .class en una carpeta ( con el nombre holamundo) que se crea en ese mismo directorio. Esto lo hace ejecutandolo de un editor(Jcreator, netbeans, eclipse, etc). Si lo haces desde linea de comandos no te genera la carpeta sino que el .class lo crea en ese mismo directorio donde se encuentra tu .java

No estoy muy seguro, pero si ejecutas el programa desde consola tendria que aparecer un error.

Te recomiendo que para no estes abriendo tu consola cada vez que quieras ejecutar un programa, te crees un ejecutar.bat
El cual contendrá lo siguiente:

Código:
javac holamundo.java
@pause
java holamundo
@pause

Saludos
En línea

abc
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #7 en: 28 Agosto 2009, 20:28 pm »

Hola

Citar
Tuve que instalarlo, no lo tenía.

A que te refieres??

En tu código mire que tienes un
Código:
package holamundo;

No sé si sabes lo que hace esta linea, pues lo unico que hace es guardar tu .class en una carpeta ( con el nombre holamundo) que se crea en ese mismo directorio. Esto lo hace ejecutandolo de un editor(Jcreator, netbeans, eclipse, etc). Si lo haces desde linea de comandos no te genera la carpeta sino que el .class lo crea en ese mismo directorio donde se encuentra tu .java

No estoy muy seguro, pero si ejecutas el programa desde consola tendria que aparecer un error.

Te recomiendo que para no estes abriendo tu consola cada vez que quieras ejecutar un programa, te crees un ejecutar.bat
El cual contendrá lo siguiente:

Código:
javac holamundo.java
@pause
java holamundo
@pause

Saludos

Me refiero a que tuve que instalar gcj-4.1 para poder correr los programas.

Y sí, tengo el siguiente código en eclipse:
Código:
package holamundo;
public class holamundo
{
public static void main(String[] args)
{
System.out.println("Adios");
}
}
Si le quito el "package holamundo" no corre, pero desde la línea de comandos sí:
Código:
leo@lein:~/workspace/java/holamundo$ cat holamundo.java 
public class holamundo
{
        public static void main(String[] args)
        {
                System.out.println("Adios");
        }
}leo@lein:~/workspace/java/holamundo$ javac holamundo.java
leo@lein:~/workspace/java/holamundo$ java holamundo
Adios
leo@lein:~/workspace/java/holamundo$
Y viceversa, si tengo el "package holamundo" y lo compilo desde la línea de comandos, no funciona:
Código:
leo@lein:~/workspace/java/holamundo$ cat holamundo.java 
package holamundo;
public class holamundo
{
        public static void main(String[] args)
        {
                System.out.println("Adios");
        }
}leo@lein:~/workspace/java/holamundo$ javac holamundo.java
leo@lein:~/workspace/java/holamundo$ java holamundo
Exception in thread "main" java.lang.NoClassDefFoundError: holamundo (wrong name: holamundo/holamundo)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: holamundo.  Program will exit.
leo@lein:~/workspace/java/holamundo$

¿Como hacer para que funcione en las dos?
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: ¿Cómo correr programa desde la consola de comandos?
« Respuesta #8 en: 28 Agosto 2009, 23:09 pm »

cuando usas package es porque lo estas metiendo dentro de una capeta (o similar) tu clase, eso significa que debes estar en un nivel superior.
Esto nunca lo he hecho porque para clases chicas como la que mensionaste omito el package y me queda guardado en el paquete por defecto, pero por teoria deberia funcionar:
#java holamundo/holamundo
La clase holamundo debe estar guardada en la carpeta holamundo
Espero que me hayas entendido
Adios
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
COrrer **.java desde linea de comandos
Java
mapers 5 4,990 Último mensaje 24 Octubre 2011, 11:00 am
por adastra
como compilar rl codigo de un programa desde la consola de ubuntu « 1 2 »
GNU/Linux
Paul Young 12 7,810 Último mensaje 17 Enero 2012, 21:44 pm
por Paul Young
Como ejecutar comandos telnet en un router desde un programa en C?
Programación C/C++
4rkn63l 1 4,037 Último mensaje 29 Enero 2012, 18:24 pm
por qerde
¿Como crear aplicación que ejecute comandos en consola Windows 7?
Programación General
motocros_elche 1 4,056 Último mensaje 20 Junio 2013, 06:27 am
por Eleкtro
correr cualquier programa desde usb
Dudas Generales
Robocop8 5 3,488 Último mensaje 20 Mayo 2018, 12:13 pm
por Machacador
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines