La Web del Programador: Comunidad de Programadores
 
    Pregunta:  20284 - COMO HAGO PARA QUE MI PROGRAMA SE EJECUTE COMO UN .EXE?
Autor:  juan carlos usquiano angel
Yo creo un programa en java. luego lo compilo y lo ejecuto!!
ahora, como hago para ejecutar ese mismo programa en otra máquina que no tenga el compilador!!
Así como c++ crea un .exe, en java debe haber forma!!! como???
es que mis programas se portabilizan junto con el jdk!!!!!
eso si que es un problema!!!
es como hacer progrmas en c++, y para distribuirlos tener que instalar también el borland!!!
gracias!!

  Respuesta:  DavGNU SX
Que tal Juan Carlos,

Primero que todo tu por lo general jamas compilas un java ya que java es un lenguaje interpretado y no compilado.
Segundo la analogia de C++ es erronea en el peor de los casos yo no tendria que llevar el cpp junto con el Borland sino con cualquier y mas liviano compilador de C++.
Tercero te recomendaria (como a muchos cientos de usuarios) que por favor lean bien las preguntas antes de ponerse a redactar, ya que esta pregunta la he encontrado aca mas de 7 veces (obviamente diferentes en redaccion, pero son la misma duda)

Cuarto, si hay un truco para hacer que el .class pase a .exe (busca entre las otras 6 preguntas que ya me canse de entrar en detalles)

Chao...

  Respuesta:  Rafael Hernamperez Martin
Hola, amigo,

Para poder ejecutar un programa Java en cualquier maquina tan solo es necesario que tengas en tu ordenador la maquina virtual correspondiente. El JDK es un kit completo de desarrollo, con compiladores y demas utilidades, e incluye una maquina virtual de Java. Sin embargo, tan solo necesitas esta ultima parte, y la puedes bajar de Sun (http://java.sun.com).

Por otro lado... C++ genera ficheros .exe, que son resultado de una serie de compilaciones y conversiones de funciones definidas por el lenguaje al codigo maquina correspondiente a la maquina y plataforma, siendo incompatible con otros sistemas. Para que exista portabilidad real es necesaria una llave magica. Esa llave magica en Java es la maquina virtual. Cuando generas un .class, este fichero es valido para cualquier plataforma, ya que su contenido es como el "codigo maquina" propio de Java, no de la plataforma. La maquina virtual de Java es un interprete. Por eso es necesario instalarlo en cada maquina donde vaya a funcionar. Es mas, los navegadores de Internet poseen maquina virtual de Java, por lo que pueden ejecutar applets.

Un saludo