Apéndice E Ejecución de Java Sin BlueJ
Apéndice E Ejecución de Java Sin BlueJ
Apéndice E Ejecución de Java Sin BlueJ
E
Ejecucin de
Java sin BlueJ
Centro Asociado Palma de Mallorca
Tutor: Antonio Rivero Cuesta
1
El mtodo debe ser pblico para que pueda ser invocado desde el exterior de la clase.
Debe ser static porque no existe ningn objeto cuando se inicia el programa; inicialmente, tenemos
slo clases, motivo por el cual slo podemos invocar mtodos estticos.
Este mtodo esttico crea el primer objeto. El tipo de retorno es void ya que este mtodo no devuelve
ningn valor. Aunque el nombre main fue seleccionado arbitrariamente por los desarrolladores de
Java, es fijo: el mtodo debe tener siempre este nombre. (La eleccin de main como nombre del
mtodo inicial en realidad proviene del lenguaje C, del que Java hereda gran parte de su sintaxis.)
El parmetro es una matriz de String, que permite a los usuarios pasar argumentos adicionales. En
nuestro ejemplo, el valor del parmetro args ser un arreglo de longitud cero. Sin embargo, la lnea
de comandos que inicia el programa puede definir argumentos:
java Juego 2 Fred
En esta lnea de comando, cada palabra ubicada a continuacin del nombre de la clase ser leda como
un String independiente y pasado al mtodo main como un elemento del arreglo de String. En
este caso, el arreglo args contendr dos elementos que son las cadenas 2 y Fred. Los parmetros
en la lnea de comandos no son muy usados en Java.
2
En teora, el cuerpo del mtodo main puede contener el nmero de sentencias que se deseen. Sin
embargo, un buen estilo indica que el mtodo main debiera mantenerse lo ms corto posible;
especficamente, no debiera contener nada que forme parte de la lgica de la aplicacin.
En general, el mtodo main debe hacer exactamente lo que se hizo interactivamente para iniciar la
misma aplicacin en BlueJ. Por ejemplo, si para iniciar la aplicacin en BlueJ se cre un objeto de la
clase Juego y se invoc el mtodo de nombre start, en el mtodo main de la clase Juego deberan
agregarse las siguientes sentencias:
public static void main(String[]args)
{
Juego juego new Juego();
juego.start();
}
Ahora, al ejecutar el mtodo main se imitar la invocacin interactiva del juego.
Los proyectos Java se guardan generalmente en un directorio independiente para cada uno y todas las
clases del proyecto se ubican dentro de este directorio. Cuando se ejecute el comando para iniciar Java
y ejecutar su aplicacin, se debe asegurar de que el directorio del proyecto sea el directorio activo en la
terminal de comandos, lo que asegura que se encontrarn las clases que se usan.
Si no puede encontrar una clase especfica, la mquina virtual de Java generar un mensaje de error
similar a este:
Exception in thread "main" java.lang.NoClassDefFoundError: Juego
Si ve un mensaje como ste, asegrese de que escribi correctamente el nombre de la clase y de que el
directorio actual realmente contenga esta clase. La clase se guarda en un archivo de extensin ". class":
por ejemplo, el cdigo de la clase Juego se almacena en un archivo de nombre Juego.class.
Si encuentra la clase pero sta no contiene un mtodo main o el mtodo main no posee la signatura
correcta ver un mensaje similar a este:
Exception in thread "main " java.lang.NoSuchMethodError: main
En este caso, asegrese de que la clase que quiere ejecutar tenga el mtodo main correcto.
Para crear un archivo ejecutable .jar en BlueJ use la funcin Project - Create Jar File y especifique la
clase que contiene el mtodo main en la caja de dilogo que aparece. Debe escribir un mtodo main
exactamente igual al descrito anteriormente.
Para ver detalles sobre esta funcin, lea el Tutorial de BlueJ al que puede acceder mediante el men
Help-Tutorial de BlueJ o bien visitando el sitio web de BlueJ.
Una vez que se cre el archivo ejecutable .jar, se puede ejecutar haciendo doble c1ic sobre l. La
computadora que ejecuta este archivo jar debe tener instalado el JDK (Java Development Kit) o el JRE
(Java Runtime Environment) y con l deben estar asociados los archivos .jar.