¿DONDE SE ENCUENTRA EL PORTABLE DE UNA APLICACION EN JAVA ?

Jose Ceren
23 de Noviembre del 2007
Wenas, he estado programando en Java desde hace algunos dias, utilizo Netbeans 5.5 como IDE de este lenguaje y Windows XP como sistema operativo.
Ya he programado varias aplicaciones y se que si quiero correr mi aplicacion en otra pc, lo unico que tengo que instalar en la otra pc, es la JMV equivalente al sistema operatico de esta, mi duda es la siguiente::
¿Cual es el archivo de mi programa que tengo que portar para ejecutar la aplicacion que yo mismo he programado en otras computadoras? ¿el .class ?¿el .java?...en caso de ser alguno de estos, ¿como lo ejecuto en la otra pc(despues claro esta, de haber instalado su respectiva JMV)?
Por que no considero logico tener que portar el proyecto de mi progama y tambien portar un IDE y estarlo ejecutando desde este c/vez que quiera abrir mi aplicacion.

Gracias anticipadamente :D
Saludos !

Paneb
23 de Noviembre del 2007
Permiteme que te conteste (sin que te lo tomes a mal) con una frase que repetía un profesor mío de la universidad: Los entornos Turbo (los IDE de ahora) os amariconean!! :D

Tu pregunta es sencilla, pero tremendamente difícil de explicar por correo y de llevar a cabo por alguien que siempre ha ejecutado en un IDE...

Cuando instalas TU programa java utiliza siempre los class, nunca los .java. Si tienes varios ficheros class, típicamente se "empaquetan" todo ellos en otro con extensión "jar" (son un zip, vamos).

Supongamos que el paquete de mi clase es "a.b.c"
y mi clase se llama Pato. En este caso pondre mi fichero "Pato.class" en un directorio llamado "c" que estará dentro de otro llamado "b", el cual estará dentro de "a". Nos colocamos ahora en el directorio padre a "a" y haremos:

java -cp . Pato

Esto es el classpath, la ruta donde están las clases es el directorio actual (.) Ejecuta el método "main" de la clase que se llama Pato.

Si tu clase no tiene paquete (mal asunto) no es necesario crear la estructura de directorios anterior, invocas java igual que antes teniendo el .class en el mismo directorio donde haces la invocación.

Para windows, si tu programa usa interfaz de ventanas puedes usar javaw en lugar da java.

Normalmente la invocación del programa se realiza en un fichero .cmd (para windows) o .sh (para Unix).

Mucha paciencia. Te recomiendo que lo intentes desde tu PC antes de intentarlo en otro. Sé que al principio no es nada sencillo y todo parece raro... pero tu mismo te reirás dentro de unos días de lo fácil que era.

Suerte.