2. ¿Qué es Eclipse?
Eclipse es una plataforma de desarrollo de código abierto basada en Java. Por si
misma, es simplemente un marco de trabajo y un conjunto de servicios para la
construcción del entorno de desarrollo de los componentes de entrada.
Afortunadamente, Eclipse tiene un conjunto de complementos, incluidas las
Herramientas de Desarrollo de Java (JDT)
El entorno de trabajo de Eclipse consiste de varios paneles conocidos como
vistas, como la vista del Navegador en la parte superior izquierda. Una colección
de paneles se denomina una perspectiva. La perspectiva por defecto es la
Perspectiva de Recursos, que es un conjunto básico y genérico de vistas para
proyectos de gestión y para la visualización y edición de archivos en un
proyecto.
La Vista del navegador le permite crear, seleccionar y eliminar proyectos. El
panel hacia la derecha del Navegador es la área del editor. Según el tipo de
documento seleccionado en el navegador, aquí se abre la ventana adecuada del
editor. Si Eclipse no tiene un editor adecuado registrado para un tipo
determinado de documentos (por ejemplo, un archivo .doc en el sistema de
Windows®), Eclipse intentará abrir el documento con un editor externo.
Una función conveniente es la barra de herramientas de atajos a diferentes
perspectivas que aparece en el lado izquierdo de la pantalla; varían de forma
dinámica según el contexto y la historia. Eclipse también incluye un sistema
3. robusto de ayuda que incluye una guía del usuario para el entorno de trabajo de
Eclipse y los complementos incluidos como las Herramientas de Desarrollo de
Java. Vale la pena buscar en archivos de ayuda al menos una vez para ver la
variedad de opciones disponibles y para conocer mejor el flujo de Eclipse.
Para continuar con este tipo por recorrido de Eclipse, crearemos un proyecto en
el Navegador. Haga clic en la Vista del navegador y luego seleccione New >
Project. Cuando aparece el cuadro de New Project, seleccione Java en la
izquierda. Eclipse estándar solo tiene un tipo de proyecto Java, que se denomina
Java Project. Si había complementos instalados para proporcionar suministro
para los JSP y los servlets, nos gustaría ver una opción adicional aquí para las
aplicaciones web. Por ahora, seleccione el Java Project, ingrese "Hello" cuando el
programa se lo pida para el nombre del proyecto y luego haga clic en Finish.
A continuación, le daremos un vistazo a la perspectiva de Java. Según cómo
quiera administrar su pantalla, puede cambiar la perspectiva en la ventana
actual al seleccionar Window > Open Perspective > Java o puede abrir una nueva
ventana al seleccionar Window > New Window y selecciona la nueva perspectiva.
La perspectiva de Java, como usted podría esperar, tiene un conjunto de vistas
que se adaptan mejor para el desarrollo de Java.
El Entorno de Desarrollo de Java (JDE)
Para probar el entorno de desarrollo de Java, crearemos y
ejecutaremos una aplicación "Hello World". Con la
perspectiva de Java, haga clic derecho en el proyecto Hello y
seleccione New > Class, como se muestra en la Ilustración 2.
En el cuadro de diálogo que aparece, escriba "Hello" como el
nombre de la clase. En "Which method stubs would you like
to create?", verifique "public static void main(String[] args)" y
luego Finish.
Ilustración 2 Creación de una nueva clase en la perspectiva de Java
4. Esto creará un archivo .java con una clase Hello y un método
main() vacío en el área del editor como se muestra en la
Ilustración 3. Agregue el código siguiente al método (tenga
en cuenta que la declaración para i se ha omitido de forma
deliberada):
Ilustración 3 La clase Hello en el editor de Java
5. A medida que escriba va a notar algunas de las funciones del
editor de Eclipse, incluido el control de sintaxis y la
finalización del código. En V2.1 (que pre visualicé al
descargar construir M2), cuando escribe un paréntesis
abierto o una cotización doble, Eclipse proporcionará a su
asociado de forma automática y ubicará el cursor dentro del
par.
En otros casos, puede invocar la finalización del código al
usar Ctrl + Barra espaciadora. La finalización del código
proporciona una lista sensible al contexto de sugerencias
seleccionables por el teclado o el mouse. Las sugerencias
pueden ser una lista de métodos específicos para un objeto
6. en particular o un fragmento de código según las palabras
clave como for o while.
El código anterior tiene una bombilla junto a la afirmación for
porque la declaración para i se omitió. Haga doble clic en la
bombilla para que aparezca una lista de los arreglos
sugeridos. En este caso, ofrecerá la creación de un campo de
clase i, una variable local i o un parámetro de método i; al
hacer clic en cada una de estas sugerencias se mostrará el
código que se generaría. La Ilustración 4 muestra la lista de
sugerencias y el código que sugiere para una variable local.
Ilustración 4 Sugerencias de arreglos rápidos
Al hacer doble clic en la sugerencia, inserte el código en la
ubicación adecuada en el código.
7. Una vez que se compila el código sin errores, puede ejecutar
el programa al seleccionar Run desde el menú de Eclipse.
(Tenga en cuenta que no hay un paso individual de
compilación porque la compilación tiene lugar cuando
guarda el código. Si su código no tiene errores de sintaxis,
está listo para ejecutarse). Aparece un cuadro de diálogo
Launch Configurations con las fallas adecuadas; haga clic en
Run en la parte inferior derecha. Aparece un panel con
pestañas en el panel inferior (la Consola) que muestra la
salida de datos del programa como se muestra en la
Ilustración 5.
Ilustración 5 Salida de datos del programa
8. También puede ejecutar el programa en el depurador de
Java: Primero, establezca el punto límite en main()
System.out.println() al hacer doble clic en el margen gris en el
lado izquierdo de la vista del editor System.out.println().
Aparecerá un punto azul. Desde el menú Run, seleccione
Debug. Como se lo describe más arriba, aparecerá el diálogo
Launch Configurations. Seleccione Run. La perspectiva
cambiará de forma automática a la perspectiva Debug con
una cantidad interesante de nuevas vistas como se lo
muestra en la Ilustración 6.
Ilustración 6 La perspectiva de depuración
Primero, encuentre la vista Debug en la izquierda superior de
la perspectiva. Esta vista muestra la pila de llamada y tiene
9. una barra de herramientas en la barra del título que le
permite controlar la ejecución del programa, incluidos los
botones para resumir, suspender o terminar el programa,
pasar a la siguiente afirmación, pasar a la que le sigue y
regresar desde un método.
Puede obtener más información sobre cualquiera de las
vistas con la ayuda en contexto: Haga clic en el título de la
vista y presione F1.
Plug-in adicionales
Además de los complementos como el JDT para la edición, la
compilación y las aplicaciones de depuración, los
complementos que se encuentran disponibles y que soportan
el proceso de desarrollo completo desde el modelado, la
automatización de la creación, hasta las pruebas, las pruebas
de rendimiento, el control de las versiones y la gestión de la
configuración.
Eclipse incluye un complemento para trabajar con CVS, el
Sistema de Versiones Concurrentes para el control de
fuentes. El complemento del Equipo conecta el servidor CVS,
lo que permite que los miembros de un equipo de desarrollo
trabajen en un conjunto de archivos de códigos fuente sin
pasar por arriba los cambios de otros. El control fuente
proveniente de Eclipse no se explorará más aquí porque
10. requiere configurar un servidor de CVS, pero la capacidad de
soportar un equipo de desarrollo, no solo permanecer junto
al desarrollo, es una función importante e integral de Eclipse.
Los complementos de terceros incluyen lo siguiente:
Control de versión y gestión de configuración
CVS
Merant PVCS
Rational ClearCase
Modelaje UML
OMONDO EclipseUML
Rational XDE (remplaza a Rose)
Junto con la Edición de WebSphere Studio
Gráficos
Batik SVG
Macromedia Flash
Desarrollo Web, HTML, XML
Macromedia Dreamweaver
XMLBuddy
Integración del Servidor de Aplicaciones
Lanzador Sysdeo Tomcat
11. Para una lista más completa de complementos disponibles,
consulte Recursos.
En el área del editor, aparecerá un editor gráfico con un espacio de
trabajo para un diagrama de clase. Existen dos formas de poder
crear un diagrama de clase: mediante el código de ingeniería
reversa existente al arrastrar y el traspaso de un archivo Java
desde el Explorador del paquete al diagrama de clase o al utilizar
las herramientas de dibujo disponibles en la barra de herramientas
que se encuentra sobre el diagrama en blanco. Para probar el
primer método, cree una nueva clase denominada Person (utilice
File > New >Class ) y proporciónele los dos atributos privados que
se enumeran a continuación.
Listado 1. Dos atributos privados
/** Person.java
* @author david
12. */
public class Person{
private String name;
private Address address;
/**
* Returns the address.
* @return Address
*/
public Address getAddress(){
return address;
}
/**
* Returns the name.
* @return String
*/
public String getName() {
return name;
}
/**
* Sets the address.
* @param address The address to set
*/
public void setAddress(Address address){
this.address = address;
}
/**
* Sets the name.
* @param name The name to set
*/
public void setName(String name) {
this.name = name;
}
}
(Debo confesar que yo solo escribí dos líneas para el nombre y los
atributos de la dirección. Los métodos getter y de establecimiento
se generaron automáticamente mediante Eclipse al hacer clic en el
13. código fuente y al seleccionar Source > Generate Getter and
Setter desde el menú desplegable).
Guardar y cerrar Person.java Hello.ucd.
Ilustración 8 El diagramade clase de las personas
Para crear una clase Java desde el UML, haga clic en New class
en la barra de herramientas en la parte superior de la ventana del
diagrama de clases, el tercer botón desde la izquierda y haga clic
en el diagrama de clase. Cuando se abre el asistente de New
class, escriba en Address el nombre de clase y haga clic en
Finish.
A medida que cambia el diagrama, la ventana del Source Editor
que se encuentra debajo del diagrama reflejará los cambios.
Finalmente, puede diagramar la relación entre las clases al hacer
clic en el botón de Association (el quinto desde la izquierda) y
dibujar una línea desde la clase Person hasta la clase de Address.
14. Esto abrirá otro cuadro de diálogo donde pueden ingresarse las
propiedades de la asociación (diríjase a la ayuda de EclipseUML
para obtener más información acerca de la información requerida).
El diagrama debe verse similar al de la Ilustración 9.
Ilustración 9 Association
Este complemento de UML muestravarias características que
son típicas de los complementos de Eclipse.En primer lugar,
muestrala integración estrecha entre las herramientas. Es
obvio que hay varios componentes en el trabajo; la
integración con la plataforma de Eclipse y la de JDT no
presentan problemas. Por ejemplo,cuando se creó la clase
Person, mostró errores de sintaxis porque uno de sus atributos,
Address, era indefinido. Esto desapareció una vez que se creó
la clase de Address en el diagrama UML.
15. Otra característicaes la capacidad de EclipseUML de crear
sobre la funcionalidad que ofrecen otros complementos —
en este caso, el GEF, que proporciona herramientas para
desarrollar editores visuales.
de clase es gratuito, pero hay versiones más sofisticadas que
son pagas.
Arquitectura de la plataforma de Eclipse
La Plataforma de Eclipsees un marco de trabajo con un
conjunto poderoso de servicios que soporta complementos,
como JDT y el Entorno de Desarrollo de Complementos.
Consiste de varios componentes principales: un tiempo de
ejecución de la plataforma, un Espacio de Trabajo, un
Entorno de Trabajo, Equipo de Soporte y Ayuda.
Ilustración 10 Arquitectura de la plataforma deEclipse
Plataforma
El tiempo de ejecución de la plataforma es el núcleo que
descubre en el inicio qué complementos están instalados y
crea un registro de informaciónsobre ellos. Para reducir el
tiempo de inicio y el uso de los recursos, no carga ningún
complemento hasta que realmente se lo necesita. Excepto
el núcleo, todo lo demás se implementacomo un
complemento.
16. Espacio de trabajo
El espacio de trabajo es el complemento responsable de la
administraciónde los recursos del usuario. Este incluyetodos
los proyectos que crea el usuario, los archivos de esos
proyectos y los cambios en los archivos y otros recursos. El
espacio de trabajo también es responsable de notificar a
otros complementos interesados sobre los cambios en los
recursos, como archivos que se crearon, eliminaron o
cambiaron.
Entorno de trabajo
El entorno de trabajo proporciona a Eclipse una interfaz de
usuario (IU). Se crea con la utilización de un Kit de
Herramientas Estándar (SWT) — una alternativano estándar
para el Swing/AWT GUI API de Java — y un API, JFace con un
nivel superior, construido por sobre SWT que proporciona
componentes de la IU.
Soporte del equipo
El componente de soporte del equipo es responsable de
proporcionar soporte para el control de la versión y la gestión
de la configuración. Agrega vistas según sea necesario para
permitir al usuario interactuar con cualquier sistemade
control de versiones (si hay) que se esté utilizando. La
mayoría de los componentes no necesitan interactuar con el
componente de soporte del equipo a menos que
proporcionen servicios de control de versiones.
17. iniciandoeclipse
La primeravez1quese iniciaeleclipse,estepidequese le
confirmeenquedirectorio debeconservarlosproyectosquese
creen.Pordefecto,estoesunacarpetabajoel directoriomismo
enel quese encuentrael programa.ElijaalgunacarpetaenlaunidadT:2,preferentementecreando una
especialparaestepropósito(porejemploT:proyectos).Pordefectoeleclipsecreaunacarpeta
“workspace” ensumismodirectorio (esdecir,sieclipseestáinstaladoenT:eclipse,el workspacequeda
enT:eclipseworkspace).Estecomportamientopordefectoessuficiente
paranuestrospropósitos.Recuerdequetodoel contenidode launidad
T3 SE BORRAAL TERMINARLASESIÓN.No olviderespaldarsutrabajo,ya
seaensuhome(H:)o bienenotromedio comocorreoelectrónicoantesde
terminarlasesiónde Windows.Seleccionelacasilla“Usethisasthe
defaultanddo notaskagain”paraqueno le vuelvaa preguntarestoLa
próximavezqueutiliceEclipse.
Posteriormente,se iniciaráel programa,mostrándoleunaventanade bienveniday ayuda.Si lo desea,
consultelaayudaenlíneaqueestaventanaproveeparaaprendermássobreeclipsey java.Porel
momento,nosotrossólolacerraremoshaciendoclicenlacruza laderechade “Welcome” paracontinuar.
Paravolvera verestaventana,simplementevayaal menú“Help”y hagaclicen“Welcome”.
18. Esta ventana de bienvenida la podemos cerrar seleccionando el ícono: "Workbench", con lo que aparece el
entorno de trabajo del Eclipse (si queremos nuevamente ver la ventana de bienvenida podemos activarla
desdeelmenúde opciones:Help->Welcome"
El entornodetrabajodel Eclipsees:
19. Entornoeclipse
Trascerrarel tab4de bienvenida,se nospresentael ambientede desarrollo,elcualtieneunaspecto
comoel mostradoen lasiguientefigura
Proyectos,carpetasy archivos
Un proyectoesunconjuntode carpetas de
archivos(Noesobligatorioquetenga
ambos,inclusopuedetenercualquier
cantidadde cadaunode ellos)que
tienenalgunafuncionalidadrelacionada.Alosarchivos,carpetasy proyectosse lesagrupabajoel
nombre“recursos” (“resources”,eninglés).Idealmente,todoslosrecursosdentrode unproyectoapuntan
a resolverunmismoproblema,así,porejemplo,unproyecto“Ecuaciones”podríacontarconunalgún
númerode archivosconel objetivodeconseguirunprogramaqueresuelvaalgúntipode ecuaciones.Los
archivossonprincipalmentearchivosde código(quetienenlaextensión“.java”)y sonel ladrillobásico
de construcciónde unprograma.Lascarpetassonmásquenadaparapermitirorganización(por
ejemplo,mantenertodoslosarchivosrelacionadosconecuacionescuadráticasenunacarpeta,losde
ecuacionesno linealesenotras,etc.).Antesde poderempezara trabajar,necesitamoscrearunproyecto.
El siguientecuadronospideunnombreparaelproyecto.Estepuedesercualquieraquedeseen.
Idealmente,tratende queseacorto(nooraciones),peroquea lavezsea
descriptivo.Nombrescomo“Proyecto”suelenllevarluegoa complicaciones
porqueno se sabequeesrealmentelo querealiza.Un mejornombrepodría
ser “Laboratorio1”.En“Projectlayout”,seleccionelaopción
20. “Createseparatesourceandoutputfolders”.Estofacilitarálaentregadelcódigoa losayudantes,porque
dejarátodoel códigoenunacarpetaaisladadentrodel proyecto.Hagaclic en“Next”y nuevamenteen
“Next”enlasiguienteventanaqueaparezca,porqueno necesitacambiarnada.Conestotenemoslisto
nuestroprimer(vacío)proyecto.
Al terminarlospasosanteriores,vemosqueenlavista“PackageExplorer”aparecenuestroproyectotal
comopuedeverseenlaIlustración3. Al expandirlohaciendoclicenel signo“+”queapareceal ladodel
nombrevemosqueyahayalgoadentro.Enestecaso,estánlaslibreríasde sistema,queno necesitamos
conocerendetalleporahora,porlo quesimplementelasignoraremos.Ademásestálacarpeta“src” que
es lacarpetaquecontendrátodoel códigofuente5(todaslasclases).Peroesteproyecto,asítalcual,
estávacío.No hacenada.Paraquehagaalgo,necesitamosagregarel códigoapropiado
ProgramandoenEclipse
En javatodocódigoestácontenidoal interiorde algunaclase.
Porlo anterior,si deseamosagregaralgunafuncionalidado código,debemosprimercrearunanueva
clase.Paraconseguiresto,vamosa hacerclicenel botón“Class” dentrodelmenúFile→New,tal como
indicalaIlustración4.
A continuaciónveremosuncuadrode DialogoNewJavaClass,comoel quese apreciaenla¡Error!No se
encuentraelorigende lareferencia..Enestese debeespecificarunnombreparalaclase (nuevamente,
21. corto,perodescriptivo.Más adelanteenel curso quedarámásclaroel conceptode clasey losnombres
paraestassurgiránenformamásnatural),queporelmomentodejaremoscomo“Principal” Dadoque
estaeslaprimeraclasey laqueencapsulael funcionamientode “partida”delprograma,asegúresede
hacerclicenel“checkbox”“publicstaticvoidmain(String[]args)” quese encuentrahaciaelfinaldel
cuadro.Trashacerclic enel botón“Finish”,nosencontramosconunaserie de cambiosdentro de nuestro
proyect.
Inicialmente,vemosqueenel “PackageExplorer”apareceahora,dentro delacarpeta“src”el paquete
“(defaultpackage)”(verIlustración6).Porelmomentono nos
preocuparemosmuchode lasemánticadeunpaquete.Simplementelo
veremoscomounconjuntodecódigorelacionado.Dentrodeéstehayun
archivo,“Principal.java”quecontienelaclasequeacabamosde crear,
“Principal”.Dentrode unarchivopodríamos,bajociertascondicionesmuyparticulares,llegara tener
más deunaclase,esporestoquelasclasesaparecencomounalista(árbol6enrealidad)quecuelgadel
archivo.Asuvez,losmétodosde laclasesonmostradoscomounlistaquecuelgade laclase.Más
adelanteenel cursose veráquesony paraquésirvenlosmétodos.Porel momentosólotenemoselmétodo
“main”queesel puntodeentradadenuestroprograma.Cuandoésteparta(elprograma)lo primeroque
se haceesejecutarel códigoquese encuentraenelmétodo“main”.Esaquí dondeincluiremosel código
paramostrarel mensajede nuestraaplicacióndemostrativa.
Juntoconel cambioenel “PackageExplorer”tambiénaparece,enlaparteprincipaldel editor,el código
de laclase,queporel momentono esmásqueladefiniciónde esta
Comose puedeverenla Ilustración7,se agreganautomáticamentecomentariosqueguíaninicialmente
el desarrollo.Porel momentoignoraremosel significadode losmismos.Paramásdetallesentornoa los
22. comentariosrefiéraseal anexodedicadoal temaal finaldel documento.Un últimocambioobservablees
que lavista“Outline”(verIlustración8),quese encuentraa laderecha,se haactualizadopara
mostrarnosel esquemade clasesactual.Estavistaseráútil cuandotengamosmásclases,pero porel
momentosólonosocupaunpocode espacioútil porlo quesi lo deseapuedearrastrarlaporencimade el
“PackageExplorer”,paraquequedeocultacomountabenesemismosector.Unavezarrastrada,puede
recuperarlavistadel“PackageExplorer”consólohacerclicenel tabcorrespondiente.Todosloscambios
anteriormentedescritossonefectode haberagregadolaclasey porlo tantoestánrelacionados.Por
ejemplo,si Ud.hacedoble-clicsobreel nombrede unaclaseenel “PackageExplorer”,el editormostrará
el códigoparaestaclase.Lo mismoocurriráconlosmétodosde estasy conotrascosas.No tengamiedo
enexplorarel programa.
Importando librería del curso
Los ayudantes del curso, pensando siempre en el bienestar de
sus queridos alumnos, han encapsulado un conjunto de
funcionalidad para hacerles la vida más fácil. Funcionalidad
como por ejemplo, imprimir mensajes. Para poder usar esta
funcionalidad, es necesario incluir en el proyecto el código
preparado por lo ayudantes. Para esto, los ayudantes pondrán
a su disposición (por algún medio7) un archivo llamado
“iic1102.jar”. Este debe ser arrastrado por sobre el nombre del
proyecto creado. Veamos este paso con un poco más de
detalle. Digamos que usted ha descargado el archivo
iic1102.jar y que lo tiene en el escritorio. Debemos ahora
arrastrar este archivo hasta el proyecto, al interior de eclipse.
Para lograr esto, se recomienda que redimensione la ventana
de eclipse de forma de ver tanto el archivo descargado como
eclipse tal como se indica en la Ilustración 9.
23. A continuación arrastramos el archivo sobre nuestro proyecto
tal como indica la Ilustración 10. Si el procedimiento anterior
fue realizado en forma correcta, entonces debiéramos haber
incorporado el archivo a nuestro proyecto. Sin embargo eso
no significa que estemos listos para usar las funcionalidades
provístas por este. Para poder usar la funcionalidad
encapsulada, debemos hacer clic derecho sobre el archivo
recién incorporado, luego seleccionar en el menú emergente
la opción “Ad tobuildpath” del submenú “Source” como
puede verse en la Ilustración 11.
Con esto el código preparado por los ayudantes queda listo
para ser usado (ojo: para ser USADO. El formato en el que se
distribuye este código NO PERMITE ser editado. Eso es
normal, y por lo tanto hacer doble-clic sobre “iic1102.jar” sólo
24. mostrará información sobre los nombres de las clases y
funciones que hay en este archivo, pero no el código
respectivo. Simplemente asegúrese de que este archivo queda
insertado correctamente en el proyecto, comprobando que el
icono que acompaña al archivo se transforma en un frasco
blanco de tapa amarilla y luego ignore su presencia por
completo).
Agregando código y ejecutando mi primer programa en java
Cambiemos la definición del método main para que muestre
un mensaje a través de un cuadro de dialogo8. Para esto,
cambie el código de la clase Principal para que main(String[]
args) { Interfaz.MostrarMensaje(“Este es mi primer programa
en java”); } } En el código anterior se han omitido los
comentarios para no entorpecer la lectura. Guarde sus
cambios (apretando la tecla CTRL y la tecla S
simultáneamente9) o bien mediante el menú File → Save.
Ahora, haga clic con el botón derecho del mouse sobre la
clase “Principal”, y elija la opción “Java Application” del
submenú “Run”, como se muestra en la Ilustración 12.
25. La aplicación será compilada y cualquier error
será reportado. Si todo ha salido bien, en la
parte central de su pantalla debiera observar
un cuadro de dialogo como el siguiente: Si ha
habido errores, el eclipse le advertirá de ello y le preguntará si
desea tratar de continuar con la ejecución de todas maneras.
No es sabio hacerlo, por lo que se le aconseja que ante esta
pregunta elija la opción “Cancel” que detendrá el intento de
ejecución. Proceda entonces a revisar el tab “Problems”, que
detallará una lista con todos los errores encontrados. Trate de
resolver siempre el primer error de la lista primero, dado que a
veces ese error gatilla los demás. Haciendo doble-click sobre
el error en la lista de errores, le lleva al
código, en la línea en la que se
produjo el error. El mensaje asociado
a este error suee ser lo
suficientemente explicativo como para
resolver el error muy rápido, ¡préstele
atención!
Respaldando su proyecto
Para respaldar su proyecto, basta con respaldar la carpeta del
workspaceasociada al proyecto (léase, la que tiene el mismo
26. nombre). La forma más eficiente y cómoda de hacer esto es
comprimiendo dicha carpeta, porque así se beneficia por
partida doble: • Solo tiene que asegurarse de copiar a un lugar
seguro un único archivo • El espacio ocupado por este archivo
es reducido, por estar comprimido [Opcional] Para hacer más
pequeño el archivo comprimido, eliminaremos todos los
archivos que se generan durante la compilación. Estos no se
ven normalmente, pero son generados por el compilador en la
carpeta del proyecto. Para limpiar nuestro proyecto de dichos
archivos, vamos al menú “Project” y desmarcamos la opción
“BuildAutomatically”, luego vamos al mismo menú y en él
elegimos “Clean”. Esto abrirá una ventana preguntándonos
por qué proyecto deseamos limpiar (dado que podemos tener
más de un proyecto en nuestro workspace). Para asegurarnos
que limpie el que nos interesa, hacemos clic en la opción que
nos muestra el proyecto en el que hemos estado trabajando, y
nos aseguramos que la casilla “Start a buildimmediately” NO
esté marcada.
Finalmente, podemos ir al menú “Project” y volver a marcar la
opción. “BuildAutomatically”. Es necesario deshabilitar esta
opción para que el cuadro “Clean?” permita deseleccionar la
opción “Start a buildimmediately”. Si esta opción estuviese
marcada (o bien, la opción “BuildAutomatically” estuviese
elegida en el menú “Project”), inmediatamente tras el clean se
27. construirían de nuevo los archivos, inutilizando todo lo que
acabamos de hacer. [Necesario] Habiendo limpiado el
proyecto, podemos cerrar el eclipse e irnos al workspace. Para
seguir con nuestro ejemplo, necesitaríamos ir a
T:eclipseworkspace. Para esto, abrimos de alguna manera
una ventana
del explorador de windows (ya sea a traves de “MyComputer”,
o en el menú inicio siguiendo
“Start/AllPrograms/Accesories/Windows Explorer”, o la forma
que más le acomode). Si nos paramos en la carpeta del
workspace, vamos a ver todos los proyectos que en ella hay,
como se aprecia en la siguiente figura.
en esta, se ha hecho clic con el botón derecho sobre la
carpeta del proyecto “Laboratorio 1”10. En este caso en
particular, el autor tiene instalado el software de compresión
“WinRAR”11, pero es posible que el lector tenga instalado
otro muy popular, el “WinZIP”12. Ambos funcionan en forma
muy similar, y ofrecen opciones muy similares en el menú
emergente. En este caso, se ha seleccionado la opción ‘Addto
“Laboratorio 1.rar”’, ya que esta opción es la más rápida. Tras
hacer clic en esa opción, se produce en la misma carpeta el
28. archivo “Laboratorio 1.rar”. Este archivo es el comprimido con
todo el contenido de la carpeta “Laboratorio 1”, y por lo tanto
puede ser copiado a un dikette (si le cabe) o a un pendrive o
mandado por mail… o lo que se le ocurra. Tenga en
consideración que durante las sesiones de laboratorios, la
única forma de respaldar su trabajo
será a través del buzón de tareas del
curso. Si usted desea obtener este
archivo para revisarlo en su casa o
para efectos de las recorrecciones se
publicará una noticia en el sitio del
curso que informará el procedimiento a seguir para conseguir
este archivo.13
Recuperando un proyecto desde un archivo comprimido
Tras haber ejecutado los pasos de la sección anterior, es
probable que ahora necesite recuperar el proyecto a partir del
archivo comprimido. Para hacer esto, es necesario
descomprimir el contenido del archivo comprimido en la
carpeta del workspace. Por ejemplo, si el archivo comprimido
generado en la sección anterior se encuentra ya en la carpeta
del workspace, basta con hacerle clic con el botón derecho y
elegir la opción “ExtractHere” (o equivalente) del menú
emergente. Si el archivo no está directamente en la carpeta del
workspace, basta con arrastrarlo a ella con el botón derecho
(esto es, hacer clic con el botón derecho sobre el archivo en el
lugar donde este se encuentre originalmente, y sin soltar el
botón, arrastrar el puntero del mouse por sobre la carpeta
“workspace” del eclipse y soltar el botón. Con esto surgirá un
29. menú emergente similar al anterior y basta con elegir la
opción “ExtractHere” o equivalente.
Note que la opción “Extractto Laboratorio 1” NO sirve, porque
creará una carpeta extra que entorpecerá al eclipse. Debe
asegurarse que la carpeta creada sea efectivamente la que
contiene el proyecto y no una carpeta que contiene otra
carpeta con el proyecto. Hecho esto, estamos listos para el
último paso. Inicie el eclipse si es que no lo ha iniciado ya, en
él siga los pasos descritos con anterioridad para crear un
nuevo proyecto. Cuando se le pregunte por el nombre ingrese
el nombre del proyecto que recuperó del archivo comprimido
(con exactamente el mismo nombre, es decir, si el proyecto se
llama “Laboratorio 1”, no le servirá escribir acá
“Laboratorio1”). Si todo ha resultado bien, en el final de la
ventana de creación del nuevo proyecto aparecerá un mensaje
como el que se muestra en la figura.
…el cual le advierte que ya existe una carpeta con dicho
nombre y que por lo tanto eclipse tratará de automáticamente
detectar si es que existe un proyecto en ella, y lo agregará a la
lista del “Package Explorer” si lo logra. Haciendo clic en el
botón “Finish” debería estar terminado el proceso de
recuperación del proyecto.
Renombrando un proyecto
30. A veces, es necesario renombrar un proyecto. Y dado que
eclipse mantiene información interna sobre cada proyecto,
cambiar el nombre de la carpeta en el workspace no tiene los
efectos que uno esperaría. Luego es mejor dejar que eclipse
se encargue del trabajo sucio. Para esto, abra14 el proyecto
que quiere renombrar (un proyecto puede estar “abierto” o
“cerrado” en el “Packageexplorer”. Sólo se puede trabajar en
los proyectos abiertos, por lo que tiene sentido tener abierto
únicamente el proyecto en que se está trabajando. Para abrir
(o cerrar) un proyecto, basta hacer clic con el botón derecho
sobre él y elegir la opción “Open Project” del menú
emergente15) y haga clic con el botón izquierdo en el nombre
del proyecto. Luego, aprete la tecla F2 y cambie el nombre del
proyecto en el cuadro que aparece (mostrado en la figura
siguiente).
En algunos casos puede aparecer un error muy feo, pero que
haciendo clic en “abort” es “ignorado” con la suficiente
frialdad como para que todo resulte bien. Hasta ahora no
parece haber inconveniente en darle “abort”, pero el sentido
común llama a revisar que el proyecto renombrado funciona
bien haciendo una corrida de compilación y ejecución. Si todo
funciona ok, estaría listo.
31. Manejando errores Eclipse es tremendamente expresivo en
cuanto a los errores. Mientras Ud. programa, eclipse estará
revisando que lo que ud. haya escrito:
1. Esté sintácticamente correcto: es decir, que no hayan
caracteres indebidos en donde no deben ir, que todas las
líneas terminen en “;”, que no haya espacios en donde debe
haber comas, etc, etc.
2. Que los tipos coincidan: entre los tipos que se declararon
para los argumentos y el retorno de una función y la llamada a
esta.
3. Que no hayan variables sin declarar: es decir, que no se
usen variables que no han sido declaradas previamente. Esto
es parte pequeña de la gran cantidad de errores que puede
detectar el eclipse en tiempo de programación. Para informarle
de que hay algo raro en alguna parte del código, normalmente
eclipse subraya la parte con problemas con rojo.
Al posar el puntero del mouse por sobre el lugar subrayado,
eclipse entrega una descripción del error que encontró. En el
caso del ejemplo anterior, el problema es que falta poner “;” al
final de la línea. En los mensajes de error de eclipse suele
aparecer la palabra “token”. Esta palabra significa cualquier
elemento del programa, como puede ser el nombre de una
variable, una llave ‘{‘, un operador o cualquier elemento. En el
32. caso del ejemplo de la imagen de abajo, el token es el nombre
de la variable “f1”. En este ejemplo, el error es que no se puso
una coma entre la declaración de los dos argumentos.
Comentarios dentro del código
Usted ya se ha topado con una serie de líneas en el código
que tiene colores como verde o celeste similares a los que se
observan en la Ilustración 15.
Los comentarios es texto que ayuda la lectura y entendimiento
de un programa java. Este texto no es un código java válido y
de hecho es omitido al momento de ejecutar el programa. Por
lo mismo, sea generoso a la hora de escribir comentarios,
tiene varios beneficios asociados entre los que se encuentran:
• Debido a que los laboratorios son actividades largas, es
frecuente que uno deba volver al código que escribió horas
antes, y es más frecuente aún que no se recuerde
completamente el sentido que tenía dicho código. El comentar
33. el código indicando que se está realizando en cada segmento
de código facilita su lectura.
• No tan solo usted debe leer su código, piense que hay
correctores que deben revisar el correcto funcionamiento del
mismo, de esta forma, es mejor entregar la mayor cantidad de
facilidades al corrector de forma que él pueda realizar su labor
de la forma más expedita posible. Ejemplos de comentarios
útiles son:
• “Ahora voy a calcular los valores promedios pedidos”
• “A continuación desplegare los valores pedidos en el
enunciado” Sin embargo, los siguientes son malos
comentarios debido a que no ayudan realmente a la
comprensión del código o bien porque no brinda información
adicional relevante.
• “Aquí declaro una variable”
• “El siguiente es un método que retorna un valor entero” Java
permite básicamente dos tipos de comentarios:
• De línea
• Bloques de comentario
Los comentarios de línea son los indicados con un número 1
en la Ilustración 15, el comentario está defindo por los dos
“slash" //. Todo lo ubicado a la derecha de estas dos barras
inclinadas , hasta el final de la línea se considera un
comentario y eclipse lo colorea de verde. Los comentarios de
bloques son similares a los de línea, pero permiten comentar
más una línea a la vez tal como se observa con un número 2
en la misma ilustración. La forma de definir estos comentarios
34. es mediante una apertura del comentario por medio de /* y un
cierre del comentario definido por */. Todo lo que se encuentre
al interior de estos delimitadores será considerado como un
comentario y no será ejecutado18. El siguiente es un ejemplo
un poco más extenso del uso de comentarios dentro del
código. Sientase libre de comentar su código, le ayudará a
usted mismo y a los correctores.
35. Entorno de proyectos de eclipse
Es necesario crear un nuevo proyecto no sólo para desarrollar
un nuevo programa de Java, sino para editar también archivos
ya existentes (como por ejemplo, un programa ".java"
almacenado en un diskette). Para crear un nuevo proyecto,
seleccione en la línea de menús principal "File > New >
Project...". También es posible seleccionar "New > Project..."
haciendo clic derecho en cualquier parte una vista de Eclipse
(como por ejemplo, el Package Explorer o el
ResourceNavigator). Hay varios tipos de proyectos de Eclipse
que pueden ser creados: • Para crear o editar programas Java,
un "Java Project" debería ser creado. Nótese que dentro de un
proyecto de Java también puede almacenarse toda la
información relacionada con el proyecto (la cual no tiene por
qué reducirse estrictamente a código fuente, sino que también
puede contener documentación y otros archivos
relacionados). • Los "Simple Project" sólo deberían crearse
para almacenar documentos y otros archivos, pero no código
Java que se desee compilar. Por ello, siempre que se creen
archivos ".java" sería recomendable crear un "Java Project". •
Los "Plug-in Development Project" se usan para añadir
nuevos módulos y funciones al entorno Eclipse. Estos
proyectos sólo son necesarios si se es un desarrollador de
Eclipse. • Los proyectos de "EMF" se utilizan para crear
modelos de análisis y diseño. Puesto que este tutorial se
36. centra en utilizar Eclipse para programar en Java,
escogeremos crear un nuevo "Java Project" seleccionando
"Java > Java Project" y haciendo clic en el botón "Next>" del
asistente de creación.
Tras esto, debe especificarse un nuevo nombre para el
proyecto. Los proyectos profesionales se nombran utilizando
nombres de dominio dados la vuelta para evitar posibles
conflictos de nombrado. Sin embargo, para un proyecto de
uso interno cualquier nombre descriptivo será suficiente. En
este ejemplo, se ha llamado
al nuevo proyecto "Eclipse
Tutorial". Si se usa el
37. directorio por defecto, los archivos del proyecto se
almacenarán en el directorio
"[DirectorioDeInstalación]workspace[NombreProyecto]".
También es posible especificar un directorio diferente en el
que guardar dichos contenidos.
Pese a que en este punto es ya posible terminar la creación
del nuevo proyecto haciendo clic en el botón "Finish", es
recomendable pulsar de nuevo el botón "Next>" para definir
explícitamente de esta manera una carpeta fuente para los
archivos ".java" desde el principio. Las carpetas fuente
("Source Folders") almacenan los archivos de código fuente
de Java (.java), de manera que Eclipse sepa donde
encontrarlos y pueda realizar la compilación automática de los
mismos cada vez que un archivo sea guardado.
Para crear dicha carpeta fuente
seleccione la pestaña de "Source" y pulse el botón "Add
Folder...". Seleccione el proyecto recientemente creado y
38. pulse el botón "Create New Folder". Un buen nombre para esta
carpeta fuente podría ser sencillamente "src". Tras especificar
dicho nombre, pulse "Ok". A la pregunta de si desea actualizar
la carpeta de salida de archivos compilados, debería
responder afirmativamente. De este modo, los archivos
".class" que resulten de la compilación de los ".java"
almacenados en la carpeta fuente irán a parar a la carpeta
"bin". Pulse el botón "Finish" para terminar el proceso de
creación del nuevo proyecto. Si se nos pregunta si deseamos
pasar a la perspectiva de Java, deberíamos responder
afirmativamente.
El proyecto recién creado debería parecerse a este, tal y como
lo muestra la vista "Navigator". En Eclipse 3.0 la creación de
proyectos es un tanto diferente a Eclipse 2.x. Aún puede
definirse una carpeta cualquiera para almacenar los
proyectos. Pero ahora los pasos anteriormente expuestos
acerca de la creación de una estructura adecuada de carpetas
fuente y destino pueden omitirse, ya que en la nueva versión
de Eclipse basta con marcar la opción "Createseparatesource
and output folders" para construir de forma automática la
estructura de archivos deseada.
39. Como ya se mencionó anteriormente, para editar un elemento
existente debería ser primero importado dentro de un proyecto de
Eclipse. Esto puede hacerse desde el menú "File >Import..." o bien
pulsando con el botón derecho en cualquier punto de la vista del
"Package Explorer" o del "ResourceNavigator". Para seleccionar un
archivo o directorio hay que seleccionar "File system" en el sub
menú de importación. Entonces sólo habrá que recorrer los
directorios marcando los archivos que se deseen importar así
como el proyecto y la carpeta destino.
Es importante tener en cuenta que todo elemento que se importa
en Eclipse se duplica.
Esto significa que borrar la copia que Eclipse esté manejando no
borrará el archivo
40. original, de manera que se seguirá teniendo una copia de reserva.
Sin embargo, si se usa
la opción de importar un proyecto de Eclipse ya existente, los
contenidos de dicho
proyecto serán duplicados. Así que hay que ser especialmente
cuidadoso al borrar
proyectos importados del entorno de trabajo de Eclipse, ya que es
posible que otras
copias de backup de dicho proyecto no existan.
Todo archivo creado mediante la utilización de Eclipse puede ser
exportado como un
archivo normal (seleccionando Export... > File System), como un
archivo ".jar" e
incluso como archivos comprimidos en ".zip". El proceso que hay
que seguir es similar
al proceso recientemente explicado para importar archivos, sólo
que seleccionando
ahora la opción "Export".
También es posible copiar, cortar y pegar archivos y carpetas
desde Eclipse hasta los
41. directorios del sistema operativo (por ejemplo, del explorador de
Windows) y viceversa (seleccionando un archivo, pulsando
CTRL+C, seleccionando la carpeta destino dentro de Eclipse y
pulsando CTRL+V).
Una vez que se ha creado un nuevo proyecto, es hora de aprender
cómo crear los
diversos elementos de Java. Para seguir los pasos que se exponen
a continuación es
necesario cambiar a la "Perspectiva Java" (si no se ha hecho ya)
seleccionando
"Window>Perspectives> Java". La perspectiva de Java contiene
las vistas y editores
más útiles a la hora de crear nuevos programas en Java.
Haciendo clic derecho en la carpeta fuente recientemente creada
(por ejemplo, "src")
dentro de la vista del Package Explorer, aparecerá un menú
contextual. Seleccionando
"New >" en dicho menú se mostrará una lista con los diversos
elementos de Java que pueden ser creados.
42. Algunos de dichos elementos pueden ser creados también
realizando clic sobre los iconos del menú de la parte superior de la
pantalla.
Las clases de Java son los archivos ".java" que contienen el código
fuente y que serán
posteriormente compilados en archivos ".class". Estos archivos
Java tienen que ser
almacenados dentro de la carpeta fuente recientemente creada
(por ejemplo, "src").
Pulse "New >Class" para abrir la ventana de creación de clases.
43. La carpeta fuente especificada debería ser la carpeta
recientemente definida (src). Si no se especifica ningún paquete
para contener las clases Java, se guardarán dentro de un por
defecto. El último campo obligatorio que debería ser rellenado
antes de proceder a la creación de la clase Java es el propio
nombre de la clase. Las convenciones de Java sugieren que el
nombre de una clase debería comenzar con mayúscula. En este
tutorial se ha usado el nombre "ExampleClass".
También existen otros modificadores que pueden ser fácilmente
añadidos a una clase
desde el mismo momento de su creación. Sin embargo, estos
elementos también podrían
ser añadidos manualmente en otras fases más avanzadas del
proceso de desarrollo. Si se
pretende que la nueva clase extienda (herede de) otra clase
existente, se debería
especificar la clase "padre" dentro del campo "Superclass". El
botón "Browse..." es de
gran utilidad a la hora de encontrar clases que sean posibles
candidatas para ser
extendidas. Aunque Java sólo soporta herencia única (sólo puede
extenderse de una
única clase) sí que es posible que una clase implemente más de
una interfaz. Una vez
44. más, el botón "Browse..." simplifica la tarea de seleccionar
interfaces implementadas.
Es interesante destacar que los archivos compilados ".class" sólo
son visibles en la
ventana "Navigator", abierta por defecto dentro de la perspectiva
"Resource". Puesto
que la perspectiva de Java no abre esa ventana por defecto, los
ficheros .class no serán
visibles en la vista del Package Explorer. Sin embargo, basta con
escribir y guardar un
archivo ".java" para que se cree un archivo ".class" resultante de
compilar el archivo
fuente anterior.
File
Los archivos que se crean a través de este menú suelen
almacenar notas e información
general. Otros archivos tales como archivos de configuración,
archivos "build" de ant y
similares también pueden crearse de esta manera. Crear un nuevo
archivo es tan sencillo
45. como pulsar "New > File", seleccionar el proyecto y carpeta
adecuados en que se desea
crear el archivo, dar nombre al nuevo archivo y pulsar el botón
"Finish". Por defecto,
archivos los archivos genéricos se abren en el editor de texto.
Folder
Las carpetas se utilizan para almacenar y organizar archivos.
Como ya se ha
mencionado anteriormente, una carpeta normal no es exactamente
lo mismo que una
carpeta fuente. Una práctica recomendada de programación es
crear explícitamente una
carpeta fuente donde almacenar los archivos .java con el código
fuente (src), una
carpeta de salida donde guardar el código compilado (bin) y una
carpeta para guardar
toda la documentación relacionada (docs). Para crear una nueva
carpeta basta con
especificar el nombre de la nueva carpeta y la carpeta que la
contiene.
46. Una perspectiva de Eclipse es una agrupación de vistas y editores
de manera que den
apoyo a una actividad completa del proceso de desarrollo software.
Sin embargo, es
posible crear perspectivas propias añadiendo nuevas vistas y
cambiando su distribución
en la pantalla. Las perspectivas pueden seleccionarse haciendo
clic en los iconos de
47. perspectiva del lateral izquierdo o eligiendo "Window> Open
Perspective" del menú.
Las perspectivas son:
Resource: esta perspectiva está estrechamente relacionada con el
sistema de
archivos puesto que representa la localización física de los
recursos almacenados
dentro de los proyectos
Java: esta perspectiva se centra en tareas de programación,
mostrando paquetes,
clases, métodos y atributos en sus vistas asociadas.
Plug-in development: la perspectiva de desarrollo de plug-in
permite a los
desarrolladores añadir nuevos módulos de Eclipse.
Install/Update: permite gestión de la configuración. Muestra los
componentes
instalados así como sus versiones y conflictos.
Debug: relacionada con la tarea de depuración. Se centra en los
procesos ejecutados,
puntos de ruptura, variables, salida, etc.
Java Browsing: esta perspectiva permite ojear rápidamente código,
proyectos, paquetes
y jerarquías.
48. Interface
Las interfaces son casos particulares de las clases de Java, que
carecen de implementación y que se espera que otras clases
implementen. Usualmente funcionan como una especie de
contrato, indicando lo que la clase implementada debería hacer,
mientras que los detalles de más bajo nivel corresponderían al
implementador. El procedimiento de creación de interfaces es muy
similar al procedimiento de creación de nuevas clases ya detallado.
Aunque una interfaz no puede implementar ninguna interfaz, sí que
puede extender otra interfaz mediante una relación de herencia.
Package
Los paquetes se declaran para almacenar y organizar los archivos
de Java. El nombre de un paquete consta usualmente de varias
partes separadas por puntos. Cada una de estas partes será un
directorio nuevo dentro del sistema de archivos. Las clases que se
creen dentro de un paquete determinado en Eclipse llevarán
añadida automáticamente la declaración "package" en su código
fuente.
Scrapbook Page
Estas "hojas de sucio" son una forma sencilla de probar
fragmentos de código antes de añadirlos al programa final. Sólo
49. hay que crear una "Scrapbook Page" dentro de la carpeta deseada
y escribir el código dentro de ella. No hace falta meter el código
dentro de un método main para ejecutarlo.
En Eclipse 3.0 las "scrapbookpages" no se muestran directamente
en el menú contextual. Para crear una nueva hoja de sucio
seleccione "New >Other> Java > Java Run/Debug>Scrapbook
Page". Otra diferencia respecto de las versiones 2.x es que en
Eclipse 3.0 sí que están habilitadas las funciones de auto
completar dentro de las scrapbookpages.
Antes de intentar ejecutar el código añadido es
necesario importar las clases usadas. Para ello
basta con realizar clic derecho sobre cualquier
parte de la hoja y seleccionar "Set Imports" del
menú contextual. Ahí es donde hay que especificar
los tipos y paquetes que es necesario añadir.
Para ejecutar el código recién creado es necesario
seleccionarlo pinchando con el botón izquierdo del
ratón y arrastrando hasta tener todo el código seleccionado. Luego
hay que pulsar el botón derecho del ratón sobre este código
seleccionado y ejecutar la opción "Execute" del menú contextual.
La salida estándar de dicho proceso se mostrará dentro de la vista
"Console", y otros mensajes de error se mostrarán dentro de la
misma hoja de sucio.
Una vez que se ha completado la prueba habría que pulsar el
botón "Stop Evaluation" del menú contextual.
Puesto que el editor de estas hojas de prueba no proporciona
tantas funciones de ayuda a la programación como el editor de
código Java, una práctica recomendada es escribir el código
50. original en el editor de Java y luego pegarlo en esta hoja de
pruebas.
Source Folder
Como ya se vio, las carpetas fuente son un tipo especial de
carpetas destinadas a almacenar los archivos fuentes de Java (es
decir, los de extensión ".java"). Estos archivos de código serán
automáticamente compilados en archivos ".class". Puesto que todo
proyecto de Java debería tener una carpeta fuente, es una práctica
recomendada organizar esto desde el primer momento, como se
explicó en la primera parte de este tutorial.
Compilar y Detectar Errores
Es importante tener en cuenta que en Eclipse los errores de
compilación se muestran en tiempo real subrayando el fragmento
de código adecuado con una línea roja. Y además el entorno
automáticamente compila los archivos salvados. Así pues, no será
necesario pasar por el tedioso y lento proceso de compilar -
observar los errores - corregir los errores.
Los errores pueden encontrarse fácilmente porque se muestran
además como marcas rojas en el margen derecho del editor de
código Java. También los errores y advertencias presentes en
archivos ya guardados se muestran dentro de la vista de tareas
(Tasks View), como se detallará posteriormente. Haciendo click en
cualquiera de los dos tipos de marcadores de error llevará
automáticamente hasta la línea en que el error está presente. Las
advertencias (warnings) se muestran de la misma manera, pero
con marcas amarillas.
51. Icono de Bombilla = Autocorregir
Hemos visto como Eclipse detecta y marca todo error y advertencia
de compilación. Eclipse habitualmente permite autocorregir los
posibles errores haciendo clic en el icono de bombilla presente en
el margen izquierdo del editor de código. Así pues, aparecerá una
ventana mostrando todas las opciones. Seleccionar una opción
mediante los cursores del teclado o dejar el punto del ratón sobre
dicha opción abrirá una nueva ventana mostrando detalladamente
las modificaciones de código que la autocorrección efectuaría.
Basta con pulsar la opción seleccionada (o pulsar ENTER) para
hacer que Eclipse lleve a cabo la corrección automatizada.
CTRL + Espacio = Autocompletar
52. Una vez que conozca la útil función de autocompletar la usará
continuamente. A través de los siguientes ejemplos prácticos
aprenderá cuales son las situaciones más comunes en que esta
función de ayuda a la programación resultará muy útil.
Nombres de Clases
Crear referencias a otras clases dentro de la clase actual es una
tarea de programación habitual. Sin embargo, algunas clases de
Java tienen nombres muy largos que son difíciles de recordar.
Además, es necesario añadir declaraciones de importación para
poder resolver dichas referencias a clases a la hora de compilar.
Usar "CTRL + Espacio" tras escribir los primeros caracteres del
nombre de una clase Java mostrará las posibles alternativas.
Puede seleccionar cualquiera de ellas simplemente realizando clic
izquierdo del ratón. Nótese que la sentencia de importación
correspondiente se añadirá de forma automática. Las clases se
marcan con una "C" verde mientras que las interfaces se marcan
con una "I" morada. El paquete al que pertenece la clase se
muestra también, permitiendo de este modo evitar posibles
confusiones.
Atributos y Variables Locales
Cuando se define una clase es normal dar nombres inventados a
sus atributos y a las variables internas de los métodos. Pero en
53. ocasiones resulta difícil recordar el nombre exacto. Tras escribir los
primeros caracteres del atributo o de la variable local, pulsar "CTRL
+ Espacio" mostrará las posibles alternativas. Este proceso es muy
similar al de autocompletar el nombre de las clases recientemente
expuesto. Las variables locales se marcan con el icono de una "L"
gris, mientras que los atributos se marcan con un icono que puede
variar según la visibilidad del atributo.
Métodos y Constructores
Una vez que se ha creado un objeto Java pueden invocarse los
métodos correspondientes a su clase. Sin embargo, es bastante
habitual olvidar el nombre de un método en concreto, o incluso los
tipos de sus parámetros y su orden. Este problema puede
solucionarse fácilmente pulsando "CTRL + Espacio" tras escribir el
nombre del objeto seguido de un punto, lo cual mostrará una
ventana con las posibles alternativas. Pulsar sobre la alternativa
escogida añadirá la signatura del método al objeto.
También es posible autocompletar la signatura de los constructores
pulsando "CTRL + Espacio" tras escribir (o autocompletar) el
54. nombre de la clase seguido de un signo de apertura de paréntesis,
"(".
Escribir las primeras letras del modificador de un método tal como
"public" o "private" y pulsar "CTRL + Espacio" le permitirá crear
automáticamente una plantilla del método. Pulsar el tabulador
permite saltar de un campo de la plantilla a otro, de manera que se
pueda completar el tipo de retorno, el nombre del método y sus
parámetros.
Bucles
Los bucles suelen estar presentes en todos los programas. Aunque
crear un nuevo bucle puede no ser una tarea muy compleja,
Eclipse proporciona algunas funciones de auto completado que
pueden acelerar considerablemente el proceso. Basta con escribir
"do", "while" o "for" y pulsar "CTRL + Espacio" para mostrar las
posibles opciones. Si el bucle ha sido creado con el propósito de
iterar sobre un array de elementos, seleccionar esta opción
intentará autocompletar incluso el nombre del array.
Etiquetas de Javadoc
55. Mientras que los comentarios internos del programador se indican
con una "//", los comentarios de Javadoc se inician con un "/**".
Tras crear un método, añadir "/** + ENTER" sobre la signatura del
método autocompletará información de Javadoc tal como "@param
[nombreParámetro] [comentario]", "@return
[descripciónDatosDevueltos]" y "@throws [tipoExcepción]
[comentario]". Pulsar "CTRL + Espacio" dentro de un bloque "/** ...
*/" mostrará toda la lista de etiquetas Javadoc posibles.
Menú "Source"
Mediante un clic derecho en el editor de código se mostrará un
menú contextual. Las funciones más importantes de su submenú
"Source>" son las siguientes:
Comment and Uncomment
Seleccionando esta opción se puede comentar o quitar la marca de
comentario del código. Esto es especialmente útil usado con
bloques de código, puesto que permite no ejecutar temporalmente
partes del código sin llegar a eliminarlas. Las teclas rápidas
asociadas son "CTRL + /" para añadir comentarios y "CTRL + "
para eliminar dichas marcas de comentario del bloque de código
seleccionado.
56. En Eclipse 3.0 estos comandos han sido sustituidos por
"ToggleComment". Seleccionando este nuevo comando del menú
"Source" es posible cambiar el estado del código seleccionado,
pasándolo de comentario a código o viceversa. También la nueva
opción "Add Block Comment" marcará el código como comentario
rodeándolo con los símbolos "/*" y "*/". Mientras que seleccionar un
bloque de código comprendido entre esos símbolos de comentario
hará que en aparezca la opción "Remove Block Comment", la cual
eliminaría los símbolos de comentario.
Format
La función de formateado automático de código automáticamente
indenta el código de la forma adecuada, además de llevar a cabo
otras funciones de representación. Es una forma rápida de
conseguir tener un código ordenado y comprensible. Las opciones
del formateador de código pueden adaptarse a las preferencias
personales usando "Window>Preferences> Java >CodeFormatter".
Las teclas rápidas asociadas son "CTRL + Mayúsculas + F".
Nótese que las funciones de indentación de código permiten
identificar rápidamente qué fragmentos de código son afectados
por una condición o bucle determinados, por ejemplo. Pero
también es útil situar el cursor tras un paréntesis o llave, porque de
esta forma se marcará el paréntesis asociado que abre o cierra el
bloque con un cuadrado gris. Así pues, se verá de un vistazo qué
código se encuentra realmente comprendido entre los dos
paréntesis.
Eclipse 3.0 permite especificar opciones avanzadas de formateo de
código. La página de preferencias que permite configurar el
formateo de código se ha trasladado a "Window>Preferences>
Java >Code Style >CodeFormatter". Pese a que las opciones se
57. pueden configurar de acuerdo a las preferencias personales, ya
vienen configuradas por defecto para cumplir las convenciones de
Java.
Organise and AddImports
Aunque las sentencias de importación adecuadas se muestran
siempre cuando se usan las funciones de autocompletar código
para completar el nombre de una clase Java, nuevas sentencias de
importación pueden añadirse en cualquier momento usando la
función "AddImport". Pulsar "OrganiseImports" eliminará
automáticamente todas las declaraciones de importación no
utilizadas, incrementando la eficiencia del código. El método
abreviado del teclado es "CTRL + Mayúsculas + O".
Override and ImplementMethods
Seleccionando esta opción de sombrear o implementar métodos
abrirá una ventana de menú en la cual se podrán marcar los
métodos de la superclase cuya signatura se desea que se añada.
58. La opción "AddConstructorsfromSuperclass"permitirá especializar
todos los constructores usados.
GenerateGetter and Setter
El lenguaje Java permite especificar diferentes niveles de
visibilidad de atributos. Sin embargo, en programación orientada a
objetos, los atributos internos de una clase deberían ser siempre
privados. Esto quiere decir que no debería poder realizarse ningún
tipo de modificación directa del atributo de una clase desde otra
clase externa. A causa de esto, la única manera de acceder a un
atributo privado para leer su valor o bien para darle un nuevo valor
sería utilizando un método accesor o modificador que sea público.
Seleccionando "GenerateGetter and Setter" una ventana
mostrando los posibles métodos que podrían crearse de acuerdo
59. con los atributos definidos aparecerá. Entonces los métodos
necesarios podrían crearse simplemente seleccionándolos y
pulsando "Ok".
Surroundwith try/catch block
Para utilizar esta opción es necesario tener seleccionado de
antemano un fragmento de código pinchando con el botón
izquierdo del ratón (o pulsando Mayúsculas) y arrastrando. Activar
esta opción creará un bloque "try" alrededor del código
seleccionado.
60. Nótese también que, cuando una excepción no es atrapada,
aparecerá como texto en rojo (de la salida de error estándar) en la
vista "Console". Pulsar la línea de código en que se muestra en
qué línea tuvo lugar la excepción llevará directamente a ese punto
del programa en el editor de código.
RefactorMenu
Haciendo clic derecho en el editor de código mostrará el menú
contextual. A continuación se muestran las funciones más
interesantes del sub menú "Refactor>".
Rename
Para invocar la función de renombrado hay que tener previamente
seleccionado un elemento. Marcar la opción de "updatereferences"
actualizará toda referencia al nuevo elemento renombrado. Usando
esta opción de "Refactor>Rename..." es como deberían
renombrarse todos los elementos incluyendo los archivos ".java".
Puesto que así se actualizan todas las referencias no aparecerán
problemas a la hora de compilar
61. Move
Antes de seleccionar "Refactor>Move...", el archivo fuente o
elemento que se desea mover deberá haber sido seleccionado.
Entonces será sólo necesario seleccionar el destino de manera
que se lleve a cabo la operación de mover. Esta es la forma
correcta de mover archivos ya que evita problemas futuros con
referencias y rutas de compilación.
ChangeMethodSignature
Para modificar la signatura de un método es posible usar esta
opción en lugar de hacerlo manualmente. Sólo hay que colocar el
cursor dentro del método cuya signatura se desea cambiar. Esta es
una forma rápida de cambiar la visibilidad, el tipo de retonro, los
parámetros y su orden. Los nuevos parámetros se añaden
pulsando el botón "Add" y se modifican pulsando en botón "Edit".
62. Pull Up and Push Down
Si la clase actual extiende o es extendida por otra clase, puede ser
interesante mover algunos elementos a la superclase (pull up) o a
la subclase (pushdown) respectivamente. Seleccionar el elemento
y la opción adecuada llevará a cabo esta operación de forma
automatizada.
Consultar la Documentación
La documentación Javadoc del código que se esté actualmente
programando puede ser consultada en tiempo real simplemente
colocando el cursor o el puntero del ratón sobre el elemento
63. elegido. Para expandir la ventana con esta documentación basta
con pulsar la tecla de función F2.
La documentación Javadoc externa (como por ejemplo, la
documentación oficial de las clases de Java) puede consultarse
modificando dentro de las preferencias del JRE instalado
("Window>Preferences>Installed JRE") con "Edit" la ubicación del
Javadoc. De esta manera, dejando el cursor sobre el nombre de la
clase y pulsando "Mayúsculas + F2" se abrirá la documentación
por el punto adecuado.
Eclipse 3.0 dispone de una nueva vista de Javadoc ("Window>
Show View... > Java >Javadoc"). Dicha vista muestra la
documentación Javadoc asociada al elemento sobre el que está
situado el cursor.
Importar Archivos JAR
64. En ocasiones puede ser necesario importar algunos archivos Jar
no incluidos por defecto en el JRE estándar para que el proyecto
pueda compilar. Basta con pulsar el botón derecho del ratón sobre
la carpeta adecuada, elegir "Properties>Java BuildPath",
seleccionar la pestaña "Libraries", pulsar el botón
"AddExternalJars" y seleccionar el archivo ".jar" o ".zip". El nuevo
Jar añadido será visible en la ventana Package Explorer como un
pequeño frasco.
Perspectivas
Una perspectiva de Eclipse es una agrupación de vistas y editores
de manera que den apoyo a una actividad completa del proceso de
desarrollo software. Sin embargo, es posible crear perspectivas
propias añadiendo nuevas vistas y cambiando su distribución en la
pantalla. Las perspectivas pueden seleccionarse haciendo clic en
los iconos de perspectiva del lateral izquierdo o eligiendo
"Window> Open Perspective" del menú. Las perspectivas son:
Resource: esta perspectiva está estrechamente relacionada
con el sistema de archivos puesto que representa la
localización física de los recursos almacenados dentro de los
proyectos
Java: esta perspectiva se centra en tareas de programación,
mostrando paquetes, clases, métodos y atributos en sus vistas
65. asociadas.
Plug-in development: la perspectiva de desarrollo de plug-in
permite a los desarrolladores añadir nuevos módulos de Eclipse.
Install/Update: permite gestión de la configuración. Muestra los
componentes instalados así como sus versiones y conflictos.
Debug: relacionada con la tarea de depuración. Se centra en los
procesos ejecutados, puntos de ruptura, variables, salida, etc.
Java Browsing: esta perspectiva permite ojear rápidamente código,
proyectos, paquetes y jerarquías.
En Eclipse 3.0 los iconos de perspectiva se han trasladado a la
esquina superior derecha. También hay ahora un botón etiquetado
como "Open a Perspective" que permite acceder rápidamente a otras
perspectivas. Otro cambio es que la perspectiva "Install/Update" ha
sido eliminada, y puede accederse a sus funciones seleccionando
"Help> Software Updates".
Tareas
La vista de tareas ("Tasks View") permite una rápida gestión de
tareas pendientes. Seleccionando "Window> Show View >Tasks" se
muestra esta vista. Pueden añadirse nuevas tareas haciendo clic en
el botón "Addtask". Nótese que la prioridad de la tarea y su estado
66. también pueden modificarse sin más que hacer clic en dichos
campos. También los errores y las advertencias de los archivos con
código guardados se muestran en esta vista. Haciendo clic en la
descripción de un error llevará hasta el punto exacto del código en
que se encuentra dicho error.
Añadir "TODO [descripción]" a un archivo Java añadirá una nueva
tarea "por hacer" a la vista de tareas. Una vez más, hacer clic sobre
su descripción conducirá hasta el punto exacto en que la etiqueta
"TODO" se añadió. Dentro del editor de código Java las etiquetas de
"TODO" pueden encontrarse rápidamente ya que se muestran como
pequeñas marcas azules en el margen derecho. Hacer clic sobre
estas marcas llevará directamente a la línea etiquetada. Nótese que
varios procesos automatizados insertan estas etiquetas "TODO" para
asegurarse de que el código autogenerado es revisado y comentado.
Haciendo clic derecho en cualquier punto de la vista de tareas se
mostrará un menú contextual que permitirá realizar de forma
rápida cualquier actividad relacionada con la gestión de las tareas
definidas.
Navigator
La ventana del navegador de recursos permite echar un vistazo a la
estructura de archivos de los proyectos definidos. Nótese que esta
67. vista es la única que muestra la carpeta de salida ("bin") así como los
archivos Java compilados (".class").
Package Explorer
La vista del explorador de paquetes muestra la estructura lógica de
paquetes y clases Java almacenados en los distintos proyectos. las
carpetas fuente (que deben almacenar los archivos fuente ".java") se
muestran aquí decoradas con el icono de un paquete contenido. Los
archivos Java también pueden ser expandidos de modo que
muestren sus métodos y atributos internos al pulsar el botón "+".
68. Working Set
Un conjunto de trabajo es un grupo de elementos que se muestran
en las distintas vistas de eclipse. Estos conjuntos de trabajo se usan
como filtros que permiten separar claramente los diferentes
proyectos en que se está trabajando. Esto puede resultar muy útil
cuando se está trabajando simultáneamente en varios proyectos no
directamente relacionados entre sí. Organizar los distintos proyectos
en grupos de trabajo acelerará el proceso de buscar los elementos
deseados y reducirá la confusión visual.
Para definir un conjunto de trabajo, basta con pulsar en el icono de
menú del Package Explorer (el icono de un triángulo invertido) y
seleccionar "SelectWorking Set". Aquí se permitirá nombrar un
nuevo conjunto de trabajo, así como seleccionar sus recursos
relacionados y editar o quitar otros conjuntos de trabajo existentes.
Todos los conjuntos de trabajo disponibles se muestran
directamente la próxima vez que se pulse el icono triangular de
menú.
Es importante tener en cuenta que crear un nuevo proyecto cuando
un conjunto de trabajo está siendo usado hará que el nuevo
proyecto no se muestre dentro de las vistas de Ecipse. Para poder
ver el proyecto recién creado, será necesario editar el conjunto de
trabajo actual ("Menú de la vista >SelectWorking Set >Edit" o
69. directamente "EditCurrentWorking Set") y seleccionar el nuevo
proyecto para que se muestre.
Outline View
La vista de resumen es una forma rápida de ver qué métodos i
atributos se encuentran definidos dentro de una clase de Java. Los
iconos asociados proporcionan información adicional de acuerdo
con la visibilidad del atributo o método en cuestión. Y sólo con
hacer clic en cualquiera de estos iconos conducirá a la línea de
código exacta en que dicho atributo o método está definido. La vista
de resumen es una herramienta esencial para entender y navegar
archivos Java voluminosos.
HierarchyView
La vista de jerarquía muestra las relaciones de herencia presentes
entre distintos elementos de Java. Haciendo clic derecho en el
nombre de una clase Java en el editor de código y seleccionando
"Open TypeHierarchy" abrirá esta vista de jerarquía. La tecla rápida
asociada es "F4"
70. En Eclipse 3.0 se ha añadido la opción "Open CallHierarchy" al
menú contextual del editor de código. Tras seleccionar un método,
al hacer clic en esta opción se abrirá una vista que mostrará dónde
es usado dicho método. Las teclas rápidas asociadas son "CTRL +
ALT + H".
FastViews
Arrastrar una vista hasta el margen izquierdo (hasta que aparezca
un icono de carpetas apiladas) convierte esta vista en una "vista
rápida". Pulsar el icono de la vista rápida hará que dicha vista se
muestre, mientras que volver a pulsarlo (o pulsar en cualquier otro
punto de la pantalla) hará que se oculte. Mediante un clic derecho
en el icono de la vista rápida y seleccionando "Fast View" restaurará
la vista a su posición original.
El área por defecto en que se apilan las vistas rápidas ha sido
cambiada en Eclipse 3.0. Ahora es un pequeño rectángulo situado
en la esquina inferior izquierda de la pantalla. Así pues, las vistas
rápidas se crean ahora arrastrando la vista dentro del rectángulo
hasta que aparece un icono de una flecha dentro de un cuadrado.
No obstante, la zona en que almacenar las vistas rápidas puede
cambiarse de sitio colocando el cursor sobre ella hasta que se
transforma en un cursor con cuatro flechas, arrastrando y
depositando la zona en el lugar deseado.
71. SearchView
Para realizar una búsqueda dentro de Eclipse, el menú "Search" de la
barra superior de menús debería ser seleccionado. También se
pueden lanzar búsquedas pulsando el icono de linterna.
Hay varios tipos de búsquedas dentro de
Eclipse.
La búsqueda de archivos "File Search" es una
búsqueda textual que puede ser ejecutada
sobre archivos de todo tipo. Es equivalente a
una búsqueda tradicional.
La búsqueda de ayuda "HelpSearch" efectúa búsquedas dentro de la
ayuda de Eclipse.
La búsqueda de Java "Java Search" es similar a la búsqueda de
archivos pero proporciona funciones adicionales para buscar en
archivos Java. Así pues, permite buscar explícitamente por tipos,
72. métodos, paquetes, constructores y campos, usando restricciones de
búsqueda adicionales (como por ejemplo, buscar sólo el punto del
código en que se declararon los elementos coincidentes).
Es importante comprobar que la búsqueda se efectúa sobre los
ficheros apropiados. Esto puede definirse usando el campo "scope".
"Workspace" hace referencia al entorno de trabajo completo.
"SelectedResources" son sólo los archivos seleccionados (es posible
seleccionar más de un archivo haciendo clic izquierdo en ellos
mientras se mantiene pulsada la tecla CTRL). "Working Set" es un
conjunto de trabajo previamente definido.
Los resultados de la búsqueda aparecen en la vista "Search".
También se subrayan en gris dentro del editor de código, con una
flecha amarilla en el margen izquierdo y con una marca gris en el
margen derecho. Haciendo clic en cualquiera de estos elementos
seremos conducidos al punto en que la cadena buscada se encontró.
Los resultados de búsqueda se muestran como un árbol jerárquico
en Eclipse 3.0.
73. Navegarpor las Vistas y los Editores
Hasta ahora hemos visto una introducción de cómo utilizar las
vistas de Eclipse y cómo dichas vistas ayudan a manejar la
información. Es hora de explicar algunas funciones de navegación
adicionales que serán útiles para encontrar rápidamente la
información deseada y que permitirán presentarla adecuadamente
en los diversos editores y vistas.
Maximizaruna Vista o Editor
Basta con hacer doble clic en el título de una ventana para
maximizarla. Doble clic en el título de nuevo hará que las
dimensiones y posición de la ventana sean restauradas a las que
tenía originalmente. En Eclipse 3.0 se ha añadido "CTRL + M" como
tecla rápida asociada a maximizar o restaurar la ventana del editor
actual.
Ir al Último Cambio
El icono del menú representado como "una flecha con un asterisco"
sirve para colocar el cursor en el último punto del código que fue
modificado dentro del editor activo. Es habitual que tras cambiar
algo de código (por ejemplo, tras escribir algunas instrucciones
nuevas) movamos el cursor a otra línea para revisar otra parte del
programa. Si deseáramos volver al punto en que añadimos el
último cambio (que suele ser el lugar por el que "íbamos
programando") tendríamos el problema solucionado con sólo pulsar
74. este icono de "ir al último lugar editado". Las teclas rápidas
asociadas son "CTRL + Q".
Acciones de Navegación de los Editores
Pero, ¿qué haríamos si quisiéramos volver a un punto del programa
en el que no introdujimos ningún cambio (es decir, en el que
situamos el cursor pero en que no escribimos o borramos ningún
carácter)? O, ¿y si quisiéramos regresar al lugar en que estuvimos
justo antes de editar algo en otro lugar? Las flechas de navegación
del menú resolverán estos problemas. Basta con pulsar la flecha de
"navegar hacia atrás" para regresar a puntos previamente visitados
del programa.
Y pulsando la flecha de "navegar hacia delante" recorreremos el
historial de lugares visitados hacia los puntos más recientes.
De hecho, estas útiles acciones funcionan de forma muy similar a
como lo hacen los botones de "atrás" y "adelante" de un navegador
web. La opción de "atrás" sólo se activa si existen puntos de
programas que se visitaron previamente. Y la opción de "adelante"
se activa tras haber pulsdo el botón de "atrás". También hay que
tener en cuenta que pulsando en el pequeño triángulo negro que se
encuentra junto a las flechas de navegación desplegaremos un
menú que muestra otros archivos (distintos del abierto en la
75. ventana activa del editor) en los que se encuentran otros puntos
visitados accesibles. Por cierto, para cambiar la ventana activa del
editor a otras ventanas abiertas existe un método abreviado: "ALT +
F6" (comando de "siguiente editor").
Las útiles teclas rápidas asociadas a estas acciones de navegación
son "ALT + IZQUIERDA" para navegar hacia atrás y "ALT +
DERECHA" para navegar hacia delante.
Revisar Problemas
Los botones de "Ir al siguiente/anterior problema" permiten recorrer
uno tras otro los problemas pendientes que aparecen en el editor
actual.
Aunque esta es una forma sistemática de revisar los problemas, es
interesante recordar que también puede accederse directamente a
los problemas, advertencias, resultados de búsqueda y tareas
pendientes sin más que hacer clic en sus marcas asociadas que
aparecen en el margen derecho del editor.
En Eclipse 3.0 estos botones de "ir a problema" se han sustituido por
botones de "ir a anotación". Haciendo clic en el pequeño triángulo
negro cercano a estas flechas de navegación por anotaciones se
abrirá una lista editable con los tipos de anotaciones que serán
recorridas. Así pues, el uso de estos botones no está ya limitado sólo
a la comprobación de problemas ya que ahora se pueden realizar
también otras tareas útiles tales como, por ejemplo, comprobar
sistemáticamente todas las "tareas pendientes" ("TODO") sin más que
seleccionar "Tasks" en dicha lista.
76. Ejecutar
Para ejecutar un programa dentro de Eclipse hay que seleccionar
"Run>Run..." del menú principal. Dentro de "Configurations" se
almacenan diferentes configuraciones de ejecución. Hay cuatro
tipos de configuraciones de ejecución: Java Applet (para applets
web), Java Application (para programas normales de Java), JUnit
(casos de prueba) y Run-Time Workbench (otras instancias de
Eclipse que permiten probar nuevos módulos de Eclipse).
Así pues, para ejecutar un programa de Java normal debería
seleccionarse "Java Application" y pulsar el botón "New" para crear
una nueva configuración. Dentro de la pestaña "Main" hay que dar
nombre a la nueva configuración seleccionar el proyecto que
contiene la clase con el método main y seleccionar dicha clase. El
método "main" es el punto de ejecución de un programa Java, y se
77. representa como un pequeño icono de un hombre corriendo al lado
del icono de la clase.
Si se desea pasar argumentos al método main (en la forma de
"String[] args"), no hay más que hacer clic en la solapa de
"Arguments" y escribir esos argumentos separados por espacio
dentro de la zona en blanco de "ProgramArguments".
Finalmente, hacer clic en el botón "Run" lanzará la ejecución del
programa seleccionado. Una forma más rápida de arrancar la
ejecución del programa recientemente ejecutado es pulsar en el
icono de un hombre corriendo que aparece en el menú principal.
Pulsar la flecha próxima a este icono mostrará otras
configuraciones de ejecución recientemente utilizadas.
78. En Eclipse 3.0 el icono anterior ha sido reemplazado por una flecha
blanca dentro de un círculo verde.
Haciendo clic derecho en un punto de ruptura y seleccionando
"BreakpointProperties..." permitirá especificar opciones avanzadas
del punto de ruptura. "Hit Count" especifica que la ejecución del
programa se detendrá cuando se pase por el punto de ruptura el
número especificado de veces. Las condiciones de activiación
detendrán la ejecución cuando la condición sea cierta o bien cuando
el valor de la condición cambie. Especificar una variable como una
condición de activación y seleccionar "suspendwhenvalue of
conditionchanges" es una forma de "detener la ejecución en el punto
de ruptura cuando dicha variable sea modificada".
79. Las excepciones son uno de los síntomas más evidentes de
errores de ejecución. Los "Java ExceptionBreakpoints" detienen la
ejecución cuando salta una excepción del tipo seleccionado. Estos
puntos de ruptura se activan haciendo clic en el icono "J!" de la
vista de "Breakpoints" o desde el menú principal "Run". La
ejecución puede detenerse cuando la excepción sea capturada, no
capturada o ambas.
Si se desea que el programa se detenga en los puntos de ruptura
definidosdeberá ser ejecutado en modo depuración("Run>Debug...").
Tras detenerse en un punto de ruptura la ejecución del programa puede
continuarde diversas maneras. Haciendoclic derecho en el editor de
código dentro de la perspectiva de depuraciónaparecerá un menú
contextual con estas opciones. "Runto line"reanuda la ejecución del
programa hasta que se alcanzala líneaen que está el cursor.
"Stepintoselection"continuarálaejecución dentro del método
seleccionadosiempre y cuandoel código fuente del método esté
disponible.La ejecucióntambién puede reanudarse medianteun clic
derecho en la ventana de "Debug" y seleccionandolasopciones
adecuadas,o directamente pulsandolos iconosde dicha ventana.
"Stepover" parará en la líneasiguiente a la invocaciónde un método.
"Resume" reanudarála ejecuciónnormal del programa y sólo se
80. interrumpirá en los puntosde ruptura si sus condicionesde activaciónse
satisfacen.
La vista "Variables"proporcionainformaciónverdaderamente útil ya que
muestra los valores que tienen actualmentelas variables cuandola
ejecución se detienenen un punto de ruptura.
La vista de "Debug" también es útil para observar diferentes procesos
que están siendo ejecutadossimultáneamente,como por ejemplo,
hebras. Cuandoel proceso de depuraciónha terminado, los procesos
mostrados en la ventanade depuraciónse muestran como "Finished"
(pueden acabarse manualmente con "Clic derecho >Terminate"). La
información de ejecuciones previaspuede elminarse realizandoclic
81. derecho sobre ella y seleccionando"Terminate and Remove" o
"TerminateAll"más "RemoveAllTerminated".
Gestión de Cambios
No es extraño cambiar código del programa y darse cuenta después de
que la nueva versión funcionaincluso aún peor que la primera versión.
Ese es el motivo de que los programadores tengamos que guardar
diferentes versiones del programa cada vez que introducimosun nuevo
cambio. Sin embargo, esta práctica inevitablees normalmente tediosay
consume mucho tiempo. Afortunadamente,Eclipse proporcionaun
potente sistema de gestión de cambiosy de control de versiones.