Está en la página 1de 12

Configuracin estndar de Eclipse

Desarrollo de aplicaciones UNQ

Indice
Configuracin estandard de Eclipse Modificacin de los parametros de memoria de Eclipse Breve explicacin de los parametros Diferentes tipos de memoria Links relacionados Configuracin estandard de Eclipse Descargar archivos de configuracin estandard Configuracin de niveles de warnings del compilador y otras preferencias para desarrollo Checkstyle Eclipse Plugin Activar assert keyword para todos los proyectos de Eclipse Links relacionados Importar configuraciones de Code Style Code Style - Formatter Code Style - Clean Up Code Style - Code Templates Plugins extras Mouse Feed SVN Eclipse plugin PMD Eclipse Plugin FindBugs Eclipse Plugin Runner Jetty Configuracin del launcher 1 2 2 3 3 3 4 4 5 6 7 7 7 8 8 8 8 8 9 10 10 10

Modificacin de los parametros de memoria de Eclipse


Modificar el archivo de configuracin eclipse.ini para que su contenido quede similar a:
-showsplash org.eclipse.platform -vmargs -Xms40m -Xmx1024m XX:MaxPermSize=256m Es importante notar que esta configuracin es a modo de ejemplo, pero es clave setear valores acordes a la plataforma para que eclipse pueda correr de manera fluida.

Breve explicacin de los parmetros


En Java, hay varios parmetros para controlar el tamao inicial y el tamao mximo que puede tomar la mquina virtual.

Adems, hay que tener en cuenta el tipo de memoria sobre el que se quiere actuar: heap, non-heap (PermGen). Los valores por defecto que se dan corresponden a mquina virtuales de Sun, y son orientativos, porque pueden cambiar entre versiones de la mquina virtual. Los parmetros son los siguientes, donde <VALOR> debera sustituirse por la cantidad de memoria a asignar ej:128,256,512,768,1024 ... : -Xms<VALOR>m: Tamao de inicio de la mquina virtual de Java. El valor por defecto son 64Mb. Si se aumenta este valor, se elimina el tiempo que se tardara en aumentar el tamao en memoria de la mquina virtual si se llegara el caso de que se necesitara ms memoria, por lo que aumentara el rendimiento en los casos que la aplicacin haga uso intensivo de la memoria. -Xmx<VALOR>m: Tamao mximo de la mquina virtual de Java. El valor por defecto son 128Mb. Si la aplicacin supera el tamao mximo de memoria que marca este parmetro, se lanza la excepcin java.lang.OutOfMemoryError. No conviene asignar a este parmetro el mximo de la memoria de la mquina porque si ya no queda memoria fsica disponible (por la que usa el sistema operativo u otras aplicaciones) se pueden producir escrituras en memoria asignada a otros programas y provocar un caos total. -XX:PermSize=<VALOR>m: Tamao de inicio de la memoria de tipo PermGen. Arrancar la mquina virtual con un valor superior al por defecto agiliza la carga de aplicaciones, sobre todo en el caso de aplicaciones que hagan uso intensivo de este tipo de memoria (Spring, Hibernate) -XX:MaxPermSize=<VALOR>m: Tamao mximo de la memoria de tipo PermGen. El valor por defecto son 64Mb. Si la aplicacin supera el tamao mximo de memoria para este tipo que marca este parmetro, se lanza la excepcin java.lang.OutOfMemoryError: PermGen space. El valor necesario para este parmetro siempre suele ser menor que el de la memoria de tipo heap.

Diferentes tipos de memoria


Memoria PermGem Es la memoria usada por la mquina virtual para almacenar el cdigo esttico de las aplicacines que corren en ella. Frameworks como Hibernate y Spring utilizan este tipo de memoria para cargar clases on-the-fly. Ejemplo: Las libreras usadas por un contenedor web pueden ocupar entre 20 y 30 MB. De todas formas seguimos teniendo un margen bastante amplio (unos 30 MB), pero a los 20-30 MB anteriores tenemos que sumarle el tamao de las libreras de las que depende nuestra aplicacin (normalmente en WEB-INF/lib), que si nos descuidamos levemente pueden alcanzar los 20 MB. Llegados a este punto casi hemos alcanzado los 64 MB. Memoria HEAP Es la memoria utilizada para alocar objetos nuevos. Esta memoria suele llenarse rpidamente ya sea por un memory leak o simplemente pq la aplicacin necesita mas de lo configurado . Sobre esta memoria trabaja el Garbage collector.

Links relacionados
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/ running_eclipse.htm http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

Configuracin estndar de Eclipse


Las siguientes configuraciones de Eclipse permiten un desarrollo ms simple y aprovechar mejor las caractersticas de formatting y ayudas contextuales de Eclipse, de forma que el cdigo cumpla con los estndares definidos. La idea es introducir los mismos chequeos de compilacin y formato de cdigo fuente en la maquinaria de build (maven), de forma que los mismos sean detectados al construir cada producto. Por lo tanto, para minimizar este tipo de errores es altamente aconsejable configurar Eclipse como se explica a continuacin.

Descargar archivos de configuracin estndar


Antes que nada es necesario descargar los archivos de configuracin que se van a importar a continuacin. Los archivos de configuracin se encuentran en el SVN de la materia en https://unq-devapp.googlecode.com/svn/trunk/ src/standards/

Configuracin de niveles de warnings del compilador y otras preferencias para desarrollo


Este paso no es obligatorio pero es altamente recomendable hacerlo ya que ayuda a detectar algunos bugs o recomendaciones/estndares. El archivo a importar contiene: las preferencias referentes a notificaciones de Warning y Error del compilador (seccion Java | Compiler | Error/ Warnings en la ventana de Preferences) las acciones a ejecutarse cada vez que se realiza la accion de guardar sobre un archivo de codigo fuente (seccion Java | Editor | Save Actions en la ventana de Preferences) Code templates para los archivos nuevos Estas preferencias son globales y deben ser importadas en la instalacin de Eclipse (es decir, no estn en el workspace). Es recomendable hacer un backup del directorio configuracin de Eclipse antes de proseguir (en caso de querer deshacer los cambios). Para importarlo ir a File | Import . En el Wizard Dialog seleccione General | Preferences y presione Next.

Asegurese de tener seleccionado 'Import all' y seleccione el archivo : UNQ_eclipse_preferences.epf Para comprobar que fue exitoso, ir a Window | Preferences y seleccione el item 'Java | Editor | Save Actions'. Si la importacin funcion bien la opcin de ejecutar ciertas acciones al guardar debe estar seleccionada.

Nota: si se hace re-import del "eps" luego tambin se deber re-importar el archivo de code templates! Si no, se perdern los templates anteriores

Modificar variable M2_REPO


Ir a Windows | Preferences | Java | Build Path | Classpath Variables y cambiar el valor de M2_REPO por el path del respositorio de maven.

Checkstyle Eclipse Plugin


Este plugin permite tener chequeo esttico de naming convention estandard . El plugin marca como warning en la vista de Tasks de Eclipse cualquier violacin al estilo definido. Si se importa el profile de formatter que se explica en la seccin de 'Configuracin de Eclipse' y se aplica dicho formatter cada vez que se guardan cambios o antes de commitear entonces no hace falta utilizar este plugin. Si se quiere estar seguro de no estar subiendo cdigo al repositorio que podra violar algn estilo, se lo puede utilizar localmente y tener en la lista de warnings cualquier desviacin del standard.

Para instalarlo hay que agregar la siguiente URL al update manager: http://eclipse-cs.sourceforge.net/update Luego es necesario cargar el profile UNQ (que coincide con el Eclipse formatter que se explica ms adelante). Para esto, ir a Window | Preferences | Checkstyle y en la seccion 'Global Check Configurations' presione New. En la ventana que se abrir seleccione como Type el valor 'External Configuration File'. En el campo Name ingrese UNQ (CUIDADO! el nombre que ingrese aqu ES IMPORTANTE, es un ID para otras configuraciones). En el campo Location localize en su disco el archivo: UNQ_checkstyle.xml El plugin se puede activar para uno o varios proyectos desde el menu contextual, teniendo un proyecto Java seleccionado.

Activar assert keyword para todos los proyectos de Eclipse


Ir a Windows -> Preferences -> Java -> Installed JREs. Luego seleccionar la JDK y seleccionar Edit. En donde dice Default VM Arguments poner: -ea.

Links relacionados
http://java.sun.com/developer/technicalArticles/JavaLP/assertions/ http://tech.puredanger.com/2007/01/17/eclipse-assertions/

Importar configuraciones de Code Style Code Style - Formatter


Ir al Menu de Eclipse, en Window | Preferences y seleccionar el elemento Java | Code Style | Formatter del arbol de propiedades. Luego presione Import y seleccione el archivo de profile: UNQ_eclipse_formatter.xml. Verificar que el profile llamado UNQ sea el seleccionado en el combo box 'Active profile'

Code Style - Clean Up


Ir al Menude Eclipse, en Window | Preferences y seleccione el elemento Java | Code Style | Clean Up del arbol de propiedades. Luego presionar el boton Import y seleccione el archivo de profile: UNQ_eclipse_code_clean_up.xml . Verifique el profile llamado UNQ sea el seleccionado en el combo box 'Active profile'

Code Style - Code Templates


Ir al Menu de Eclipse, en Window | Preferences y seleccione el elemento Java | Code Style | Code Templates del arbol de propiedades. Luego presione el boton Import y seleccione el archivo de profile: UNQ_eclipse_codetemplates.xml Verificar que la carga fue exitosa revisando el contenido del elemento Code | Method body en el arbol de templates. Este debe tener la lnea throw new UnsupporteOperationException();

Plugins extras
Mouse Feed
Este plugin es bastante simple, lo nico que hace es mostrarnos (tipo pop-in) los shurcuts de las acciones que ejecutamos utilizando el mouse. Es muy recomendable para aprender los shortcut de apoco Desde Install New manager : http://update.mousefeed.com Site : http://www.mousefeed.com/

SVN Eclipse plugin


A partir del 2009 subVersive fue aceptado como incubator en eclipse. http://www.eclipse.org/subversive/downloads.php Update site: Update Site is a part of Helios Update Site. Look at Help > Install New Software... > select Helios - http:// download.eclipse.org/releases/helios > Collaboration Tools

Otra alternativas es bajarlos desde Help | Market Place y busquen subversive. El plugin que deben instalar es Subversive SVN Team Provider , cuando el wizard pida instalar los conectores, selecciones la ltima versin tanto de SvnKit como de JavaHL.

PMD Eclipse Plugin


Este plugin analiza cdigo Java y busca potenciales problemas como (entre tantos otros): Possible bugs - sentencias vacas try/catch/finally/switch Dead code - variables locales, parmetros y mtodos privados no usados Suboptimal code - mal uso de String/StringBuffer Overcomplicated expressions - innecesarias sentencias if's, ciclos for que podran ser while Duplicate code - cdigo copiado y pegado significa errores copiados y pegados

El plugin marca como error,warning e info en la vista de Tasks del Eclipse cualquier violacin al estilo definido. Para instalarlo hay que agregar la siguiente URL al update manager: http://pmd.sourceforge.net/eclipse

Luego es necesario cargar el profile UNQ. Para esto, ir a Window | Preferences | PMD | Rules Configuration, seleccionar "clear all" y posteriormente importar el siguiente XML: UNQ_PMD.xml El plugin se puede activar para uno o varios proyectos desde el menu contextual, teniendo un proyecto Java seleccionado.

FindBugs Eclipse Plugin


FindBugs es una herramienta de anlisis esttico de cdigo. Se integra fcilmente con maven o ANT, y tambin existe un plugin para correrlo desde el Eclipse. Marca los posibles bugs con un marker (similar a un bichito) al lado de las lneas de cdigo fuente. Adems ofrece una vista de Bug Explorer donde los lista. Para instalarlo, agregar el update site: http://findbugs.cs.umd.edu/eclipse Tip: por default FindBugs no corre con la compilacin incremental. Para habilitar esto, ir a las propiedades de cada

proyecto y tildar la opcin "Run FindBugs automatically".

Runner Jetty
Seleccionar Help --> Software Updates... Ir a la solapa Available Software y seleccionar el boton Add Site... En el campo Location escribir http://run-jetty-run.googlecode.com/svn/trunk/updatesite/ y presionar OK. Luego, seleccionar el nuevo site creado y presionar Install... y seguir las instrucciones de pantalla

Configuracin del launcher


Seleccionar Run --> Run configurations. Crear una Jetty Webapp con las siguientes configuraciones: Name: <Nombre del proyecto donde est la webapp> En la solapa Jetty, Project: <nombredelproyecto> En la solapa Jetty, Context: /<nombredecontexto> En la solapa Jetty, Port: 8080 En la solapa Jetty, HTTPS Port: dejarlo en blanco En la solapa Jetty, WebApp dir: src/main/webapp