Sesión 2

Eclipse. Paquetes. Bean Shell.

1. Instalación de Eclipse

En este primer ejercicio vamos a instalar el entorno de desarrollo Eclipse 3.0

  1. Descomprime el fichero Eclipse (ver la página de recursos) correspondiente a tu sistema operativo en algún directorio del sistema. El fichero es un archivo ZIP que contiene todos sus ficheros bajo el directorio ./eclipse. Por ejemplo, en Windows descomprímelo en C:\ y en Linux lo puedes descomprimir en /usr/local/ (si tienes permiso de super usuario; si no, lo puedes descomprimir en /home/<user>/). En Mac OS X debes descomprimir el fichero y arrastrar la aplicación Eclipse a la carpeta de aplicaciones.
  2. Arranca Eclipse haciendo doble click sobre la aplicación. Es un programa escrito en Java y debes tener instalado el JDK o el JRE (ya lo has hecho en la sesión 1) para que funcione. Cuando Eclipse arranca por primera vez pide el directorio de trabajo. Puedes aceptar el que te sugiere (C:\eclipse\workspace), o indicarle alguno propio.
  3. Cuando aceptes el directorio de trabajo, aparecerá la siguiente ventana de presentación.



    Desde esta ventana de presentación puedes ver tutoriales, ejemplos o entrar directactemente en la zona de trabajo (esquina superior derecha). Haz esto último para comenzar a trabajar en Eclipse. Podrás volver a la ventana de presentación en cualquier momento con la opción Help -> Welcome). Quédate por ahora en la zona de trabajo:


  4. Lee el apartado 1.4 de los apuntes (Eclipse: un entorno gráfico para desarrollo Java), en especial los apartados 1.4.2 (Configuración visual: perspectivas, vistas y editores) y 1.4.5 (Proyectos Java). Las pantallas de ese apartado están tomadas de una versión anterior de Eclipse y son algo diferentes al aspecto de la versión 3.0. Puede ser que en esta primera lectura haya cosas que no entiendas; no te preocupe demasiado, se refieren a aspectos avanzados que podrás usar más adelante.

2. Las primeras clases Java en Eclipse

Vamos a crear un proyecto en Eclipse en el que programaremos todas las clases de la sesión de ayer, para que compruebes la diferencia entre usar este entorno y programar con un editor básico y la línea de comando.

  1. Crea un proyecto Java nuevo con la opción File -> New -> Project. Llámalo plj y acepta todas las opciones por defecto. Verás que Eclipse te pide pasar a la perspectiva Java. Acepta. El proyecto se corresponde con un directorio que se ha creado con el mismo nombre en el directorio de trabajo de Eclipse. Puedes usar este proyecto durante todo el curso.
    En el proyecto pueden residir todo un conjunto de clases y paquetes; esto es, en un proyecto puede haber más de un programa ejecutable (recuerda que los programas Java son clases que tienen el método main).
  2. Vamos a crear la clase Ejemplo1 con el "Hola mundo".
    Selecciona el proyecto y, con el botón derecho, escoge la opción New -> Class. Dale el nombre Ejemplo1 y activa la opción para que cree un esqueleto del método "public static void main (String[] args)". Pulsa en Finish y aparecerá el editor de Eclipse con el fichero de clase. Al crear la clase, Eclipse introduce comentarios con tareas por hacer que puedes ver en la vista Tasks. Puedes borrar estos comentarios y se borran automáticamente las tareas. Escribe en este fichero el programa Ejemplo1 de la sesión de ayer. Durante la escritura podrás comprobar que el editor chequea la sintaxis cuando grabas el fichero, indicándote si hay un error, qué tipo de error es, e incluso sugiriéndote la posible solución:



    Cuando salves el programa correctamente escrito verás que desaparecen todas las marcas de errores.

    Si examinas en el sistema operativo el directorio plj creado en el espacio de trabajo de Eclipse, verás que se encuentra el fichero Ejemplo1.java y el fichero compilado Ejemplo1.class. Eclipse sólo ha añadido los ficheros .project y .classpath que definen algunas constantes del proyecto. Esta es una de las muchas ventajas de Eclipse frente a otros entornos: su limpieza. Lo que hay en la ventana de proyecto es lo que hay en el directorio del sistema operativo. Puedes examinar los ficheros del sistema operativo cambiando a la perspectiva Resource.
  3. Vamos a ejecutar la clase Ejemplo1. Selecciona la clase y, con el botón derecho, escoge la opción Run -> Java Application (también puedes seleccionar en el menú la opción Run -> Run As -> Java Application). Aparecerá la vista Console con la salida de la ejecución del programa.
  4. Escribe el resto de clases de la sesión 1, excepto la que está en el package misclases.utils. Para ello puedes importar las clases en el paquete desde el sistema de ficheros. Escoge la opción File -> Import -> File system, selecciona el directorio C:\java y marca todas las clases que quieres importar (todas en este caso):



    Todas las clases se copiarán al proyecto actual y se compilarán automáticamente.
  5. ¿Cómo lanzar un programa con argumentos en la línea de comandos? Para esto es necesario crear una configuración de ejecución, un elemento muy útil de Eclipse. Selecciona en el menú la opción Run -> Run ... . Aparecerá la ventana de gestión de configuraciones de ejecución, en la que podrás crear y guardar con un nombre una configuración de ejecución. Dale a esta configuración el nombre conf1, selecciona como Main class la clase Reverse2 y dale los valores que quieras a los argumentos del programa. Puedes guardar la configuración con la opción Apply y ejecutarla con Run. La configuración queda guardada y puedes lanzarla cuando quieras, por ejemplo después de realizar modificaciones en el programa principal.

3. La clase plj.geom.Rect

En este ejercicio vamos a compilar en Eclipse la clase Rect, que define un rectángulo, dentro del package plj.geom.
  1. Comenzamos creando el package plj.geom. Para ello, escogemos la opción del menú File-> New-> Package. Y creamos el paquete con el nombre plj.geom. Inmediatamente aparecerá en la vista Package Explorer. Eclipse también habrá creado en el sistema de ficheros los directorios plj/geom dentro del directorio de proyecto plj.
  2. Desempaqueta el fichero de plantillas de esta sesión de ejercicios e importa en el package recién creado las clases Rect.java y Position.java. Vamos a centrarnos en la clase Rect, la clase Position la usuaremos en otra sesión. Se trata de una clase con la que se definen objetos de tipo rectángulo. Mira el código fuente de la clase. Verás que, por estar definida en el package plj.geom, se declara la línea
     package plj.geom;
    al comienzo del fichero. En Eclipse tendremos una configuración similar a esta:




  3. Escribe una clase de prueba que use la clase Rect y que se llame PruebaRect.java, en el que se realicen varias operaciones con dos rectángulos recién creados y se compruebe la clase Rect. Escríbela fuera del package plj.geom. Debe tener el siguiente esqueleto:
    import plj.geom.Rect;

    public class PruebaRect {

    public static void main(String[] args) {
    Rect r1, r2, r3;
    // operaciones con los rectángulos
    }
    }
  4. Por último, crea el paquete modulo1.sesion2 y mueve todas las clases a ese nuevo paquete. Lo puedes hacer arrastrando las clases al nuevo paquete y Eclipse se encarga de declarar el paquete en el código fuente de las clases. Prueba alguna clase para comprobar que no ha habido ningún error.

4. El intérprete BeanShell

Vamos a terminar probando una herramiente muy útil: un intérprete interactivo de Java. El intérprete se llama BeanShell y puede ejecutar código Java de forma interactiva.

  1. Descomprime BeanShell en cualquier directorio del sistema de ficheros. Se trata de un programa Java que necesita que tengas JDK o JRE instalado para que funcione. Lánzalo haciendo un doble click sobre el fichero bsh-2.0b1.jar. Aparecerá un entorno como el que se muestra en la siguiente figura. El Workspace es un intérprete interactivo en el que puedes ejecutar instrucciones Java. Vamos a probar en ese intérprete la clase Rect.



  2. Para añadir al CLASSPATH de BeanShell el directorio donde se encuentra el paquete plj se usa la instrucción addClassPath("C:/eclipse/workspace/plj"). Para imprimir un valor a hay que usar la instrucción print (a). Un ejemplo de ejecución es el siguiente:

    bsh % addClassPath("G:/eclipse/workspace/plj");
    bsh % import plj.geom.Rect;
    bsh % Rect r = new Rect(0,0,10,10);
    bsh % print (r.toString());
    [0.0,0.0; 10.0,10.0]
    bsh % r.move(2.0,4.0);
    bsh % print (r); // llama implícitamente a r.toString()
    [2.0,4.0; 12.0,14.0]
    bsh %
    Ejecuta en el intérprete las mismas instrucciones que escribiste en el programa PruebaRect.java. Copia todas las instrucciones y las respuestas de BeanShell en el fichero respuestas.txt.

    El intérprete BeanShell es muy completo y tiene funcionalidades que escapan totalmente de este curso. Puedes consultar su funcionamiento en la documentación que se entrega en los recursos. Una instrucción muy útil es
        bsh % reloadClasses();
    que permite volver a cargar las clases que están en el classpath de BeanShell. Esta instrucción es útil cuando hemos modificado una clase y queremos comprobar el funcionamiento en BeanShell. Notar que las variables usadas previamente no pueden ser usadas con la nueva clase.

PARA ENTREGAR

Exporta todo el proyecto con Eclipse a un fichero ZIP llamado eclipse.zip usando la opción del menú File -> Export -> ZIP File.

Escribe en el fichero respuestas.txt qué impresión te han causado Eclipse y BeanShell. Crea, por último, un fichero ZIP llamado sesion2.zip con el ficheros respuestas.txt y el fichero eclipse.zip.