Cómo crear y ejecutar un programa Java

Para crear un programa Java, basta con crear un archivo con una clase que contenga un método estático público, llamado main. Compilar esta clase y ejecutarla en una máquina virtual de Java.

A continuación, se explica detalladamente como hacer lo antes mencionado, usando la consola de MS-DOS. Si no sabemos como trabajar con la consola MS-Dos, ver los tutoriales “Línea de comandos” y “Comandos MS-DOS”.

Crear una clase Java en un archivo .java

La siguiente clase HelloWorld, es ejecutable ya que tiene el método main necesario. Usa el método de clase showMessageDialog, de la clase JOptionPane, para mostrar una ventana de alerta que diga "Hello World".

    import javax.swing.JOptionPane;
    
    public class HelloWorld {
        public static void main(String[] args) {
            JOptionPane.showMessageDialog(null, "Hello World");
        }
    }

El código de la clase, debe estar dentro de un archivo, con el mismo nombre de la clase y extensión Java: “HelloWorld.java”. Sería conveniente también crear un directorio donde trabajar .

C:\Users\edup>cd \
C:\>md javatest
C:\>cd javatest
C:\javatest>notepad
  

Para crear HelloWorld.java, usar notepad o cualquier otro editor de texto plano. Copiar el texto de la clase, dentro del editor y guardarlo en el directorio javatest con el nombre “HelloWorld.java”.

Compilador Java

Para que nuestra clase sea entendida por la máquina virtual de java, es necesario compilarla. Para esto usaremos el compilador javac.exe, que viene incluido en la JDK.

C:\javatest>javac HelloWorld.java
C:\javatest>dir
 El volumen de la unidad C es OS
 El número de serie del volumen es: 008E-DBB0

 Directorio de C:\javatest

06/05/2014  21:24    <DIR>          .
06/05/2014  21:24    <DIR>          ..
06/05/2014  21:24               395 HelloWorld.class
06/05/2014  21:23               163 HelloWorld.java
               2 archivos            558 bytes
               2 dirs  35.856.474.112 bytes libres
  

El compilador, tomará como argumento el archivo HelloWorld.java y generará un archivo HelloWorld.class, que contiene el bytecode, que entiende la máquina virtual.

Ejecutar un programa usando la máquina virtual de Java

La máquina virtual, se ejecuta usando el archivo java.exe. Como argumento, hay que entregarle el nombre de la clase que queremos ejecutar.

C:\javatest>java HelloWorld  

Hay que tener en cuenta que Java, buscará la clase en el directorio actual, por lo que debe ejecutarse en el mismo directorio donde se encuentra el archivo class.

Si todo sale bien, veremos una ventanita que dice "Hello World":

Mensaje de alerta

Archivo JAR

Los archivos jar, se usan para empaquetar aplicaciones o librerías Java. Un archivo jar, suele contener muchas clases compiladas “.class”, directorios y un archivo llamado “MANIFEST.MF”, dentro de un directorio llamado META-INF.

Los archivos jar, están comprimidos en formato zip, pero son guardados con extensión “.jar”.

Un archivo jar, puede convertirse en un ejecutable, si incluimos en su “MANIFEST.MF” Main-Class: seguido del nombre de la clase que queremos que ejecute. Para ejecutarlo, hay que usar “java -jar”, seguido del nombre de la clase.

En Windows, cuando instalamos el JDK, los archivos jar quedan asociados a java.exe, por lo que si hacemos doble click se ejecutan.

Crear HelloWorld.jar

Crear un archivo manifest.txt en el directorio javatest e incluir el texto del siguiente cuadro:

Main-Class: HelloWorld
  

IMPORTANTE: agregar un retorno o enter después de HelloWorld, sino no funciona.

Una vez que tenemos el manifiest.txt, podemos ejecutar la herramienta jar.exe.

El modificador “cvfm” en la llamada a jar.exe significa: "c” crear un  jar; “v” mostrar la salida detallada; “f” especificar el nombre del archivo jar; “m” especificar el nombre del archivo manifest.

C:\javatest>jar cvfm HelloWorld.jar manifest.txt *.class
manifiesto agregado
agregando: HelloWorld.class(entrada = 395) (salida = 288)(desinflado 27%)

C:\javatest>dir
 El volumen de la unidad C es OS
 El número de serie del volumen es: 008E-DBB0

 Directorio de C:\javatest

06/05/2014  22:00    <DIR>          .
06/05/2014  22:00    <DIR>          ..
06/05/2014  21:24               395 HelloWorld.class
06/05/2014  23:17               777 HelloWorld.jar
06/05/2014  21:23               163 HelloWorld.java
06/05/2014  22:00                24 manifest.txt
               4 archivos          1.359 bytes
               2 dirs  35.861.430.272 bytes libres

C:\javatest>java -jar HelloWorld.jar
  

Si todo sale bien, veremos una ventanita que dice Hello World.

Mensaje de alerta

Si usamos el explorador de Windows, podemos ejecutar con doble click:

Explorador de archivos