sábado, 13 de septiembre de 2008

Configurar Eclipse para trabajar con Maven

Trabajo desarrollando aplicaciones web en Java y uso Eclipse para ello. Afortunadamente usamos Maven 2 en nuestros proyectos. En este post expongo la versión de Eclipse que uso y los plugins que tengo instalado para facilitarme el trabajo.

Llevo usando Eclipse desde la versión 2.x (x porque no me acuerdo exactamente cual era) y muchos han sido los cambios desde aquella versión hasta la actual: 3.4, también conocida como Ganymede. De entre todas las versiones que he probado, Ganymede es sin duda la mejor, más estable y más rápida. Esto puede parecer una perogrullada, pero te aseguro que no siempre la versión más nueva es mejor que las anteriores. Al menos no tiene por qué ser más estable.

En Eclipse dentro de una misma versión te puedes descargar distintas configuraciones: Eclipse for Java Developers, Eclipse for Java EE Developers, Eclipse Classic, ... La estabilidad de Eclipse varía mucho de una versión a otra. Me ha pasado varias veces que me he descargado la de Java o Java EE e iban muy mal y otra configuración, la Classic, iba perfectamente. Esto ocurre también en Ganymede, así que te recomiendo que te descargues e instales la versión Eclipse Classic. Lo puedes hacer en http://www.eclipse.org/downloads/.



Si trabajas con Maven, existe un plugin para Eclipse: m2eclipse. La versión estable de este plugin es paradójicamente más inestable que la de desarrollo. Al menos mi experiencia ha sido así. Por tanto, te recomiendo que te instales la versión de desarrollo de este plugin (0.9.6). Para ello basta con añadir en la lista de repositorios de Eclipse el siguiente repositorio: http://m2eclipse.sonatype.org/update-dev/ . Observa que acaba en update-dev en lugar de update. Si no sabes como se hace pulsa en Help -> Software Updates... -> Add Site... y pega la url en la ventana que se muestra.

Al ser versión de desarrollo, también tenéis que actualizar el repositorio denominado Ganymede. Borra el que ya hay y añade el este http://download.eclipse.org/releases/ganymede/staging/. Edición: Esto ya no es necesario. Ya lo han pasado a la rama principal.

Aparte de ser más estable, la versión de desarrollo incorpora el POM Editor. Con esta funcionalidad se puede editar el XML del POM (versiones, dependencias, plugins, ...) como si fuera un simple formulario. Además, te informa de todas las dependencias de tu proyectos, tanto directas como indirectas. Para poner la guinda al pastel, comentar que también es capaz de general el árbol de dependencias del proyecto. Se trata de un gráfico en el que cada artefacto maven se representa como un nodo y cada uno enlaza a los artefactos de los que depende. Dejaré unas capturas de ejemplo en cuanto pueda. La siguiente imagen es un ejemplo del dependency graph de un proyecto en el que trabajo.



Otra funcionalidad que incluye es la de Update dependencies. En versiones anteriores había que recurrir a trucos como editar el POM o deshabilitar y volver a habilitar el Gestor de Dependencias de Maven (Disable/Enable Dependency Management). Si has trabajado con Maven y Eclipse sabrás de lo que hablo. Ahora se soluciona fácilmente con esa opción.

También me gustaría comentar los otros plugins que tengo:
  • Subclipse (http://subclipse.tigris.org/update_1.4.x). Para integración con subversion. Imprescindible para proyectos en los que trabaje más de una persona. :-p
  • Freemarker (http://www.freemarker.org/eclipse/update)(http://sourceforge.net/projects/freemarker-ide/). Lo usamos como motor de plantillas.
  • SpringIDE (http://springide.org/updatesite/). Muy util si usas Spring, ya que te ayuda en la creación y configuración de ficheros XML.
  • WebTools (http://download.eclipse.org/webtools/updates/). Imprescindible para el desarrollo web.
  • Sysdeo Eclipse Tomcat Launcher plugin. Para poder arrancar un Tomcat local desde Eclipse y depurar en él. La instalación de este plugin ha de hacerse manualmente. Es decir, descomprimiendo el fichero que te bajes en la carpeta plugins de Eclipse.

Como digo, la versión Classic de Eclipse Ganymede con estos plugins me funciona bastante bien. Es rápida, estable y con muchas funcionalidades muy útiles en mi día a día. Esto no quiere decir que no falle de vez en cuando, pero sí que falla bastante menos que las anteriores versiones. Si usas versiones antiguas de Eclipse, merece la pena y mucho actualizarse a Ganymede.

10 comentarios:

javaytecnologia dijo...

Muy interesante la entrada sobre maven en eclipse, voy a ver si encuentro un poco de tiempo y lo pruebo.
saludos

Xela dijo...

¡¡Estupendo!! Ya nos cuentas. ;-)

Anónimo dijo...

no puedo instalarlo en ese eclipse
como lo hiciste

Juan Manuel dijo...

Yo tampoco puedo instalalarlo tengo problemas con las dependencias..

Xela dijo...

¿Qué dependencias te dan problemas?

Anónimo dijo...

No hace falta el plugin de Sysdeo para debugar en las nuevas versiones de Eclipse.

Xela dijo...

Pues no me fijé en que venían los iconos para arrancar/parar/reiniciar tomcat en la instalación básica de eclipse. De hecho juraría que no vienen. ¿Nos puedes contar cómo depurar en tomcat sin el plugin de Sysdeo? Parece interesante.

Anónimo dijo...

Supongo que ha estas alturas lo de las dependencias lo tendreis resuelto pero principalmente se deben a la versión del jdk que tengais instalada y la referenciada en el eclipse.ini

Un saludo

C@rls Systems TM dijo...

C@rls Systems .... bastante interezante tu aporte ....saludos

Xela dijo...

Por favor, no más mensajes de publicidad. Para eso existen otras páginas. ;-)