Compilar y ejecutar una aplicación Java

3994 vistas

No vamos a hablar de las técnicas a emplear bajo los diferentes entornos de desarrollo de programación, pues todos tiene una documentación completa al respecto y, si no es asÃ, simplemente tendremos que ser intuitivos y leer bien.

Prerequisitos/Recordatorio
Para que todo funcione correctamente, tendremos que seguir las siguientes reglas:

  • Un fichero sólo puede contener una clase que tenga como visibilidad public.
  • El nombre del fichero tiene que ser el mismo que el de la clase public (respectando mayúsculas y minúsculas).
  • Los comandos java, javac, jar,... tienen que estar accesibles

Para verificar este último punto, podemos teclear des de la cónsola lo siguiente:



dos
  1. java -version



Si no obtenemos la versión de Java instalada, tendremos que mirar la documentación de nuestro sistema operativo. Generalmente el problema es que la variable de entorno PATH no apunta al directorio que contiene los ejecutables Java.

La Compilación
La compilación se realiza con la aplicación javac. Si nos situamos en nuestro directorio de trabajo y ejecutamos:



dos
  1. javac -d clases/sources/MiFicheroACompilar.java



obtendremos el fichero resultado en el directorio "clases". Para más información sobre las opciones usadas, en la línea de comandos, teclear "javac" y nos aparecerá una lista detallada.

Ejecución
La ejecución se hace mediante el comando java. Siguiendo el ejemplo anterior, nos situamos en la carpeta de trabajo y tecleamos:



dos
  1. java -classpath clases/MiFicheroACompilar



Con esto le decimos a java que tiene que encontrar los ficheros *.class en la carpeta "clases" (nota: si los *.class no están en el directorio actual podemos usar "-classpath .") y que encontrará el punto de inicio en la clase pública llamada "MiFicheroACompilar". Recordemos que el punto de inicio tiene que ser d la forma:



java
  1. public static void main (String argv [])



Si omitimos este método tendremos un bonito mensaje de error del estilo:



java
  1. Exception in thread "main" java.lang.NoSuchMethodError: main



y si el classpath es incorrecto será:



java
  1. Exception in thread "main" java.lang.NoClassDefFoundError: MiFicheroACompilar