Aprendiendo Vaadin #3: Usando Eclipse, Maven y Tomcat

Gestor de proyectosLlevaba tiempo buscando una forma de poder desarrollar una aplicación RIA sin tener que sufrir una dura curva de aprendizaje, aprovechando mis conocimientos de Java y obteniendo unos resultados suficientemente buenos. De primeras, GWT me pareció una buena opción, pero después descubrí Vaadin, que bajo mi punto de vista va un paso más allá y me convenció mucho más. En esta serie de entradas compartiré mis primeras experiencias con este framework.

En mi anterior post sobre Vaadin expliqué cómo crear un entorno de desarrollo Vaadin usando Eclipse y Maven, y como servidor Jetty. Aunque esta configuración es válida, no me termina de convencer. Me parece mucho más cómodo usar un servidor Tomcat integrado en Eclipse para ejecutar y hacer debug. En la documentación no he encontrado apenas nada al respecto. Para cubrir este hueco, veamos la forma de conseguir esto:

Parto de la suposición de que ya tenemos un servidor Tomcat v6 (ó 7) integrado en Eclipse (Juno o Indigo). Evolucionaremos el proyecto Maven AprendiendoVaadinConMaven. Lo mejor será hacer una copia exacta del proyecto original y llamarlo AprendiendoVaadinConMavenYTomcat. Si hacemos memoria, la estructura del proyecto creado será:

estructura_proyecto

El siguiente paso será convertir el proyecto creado en un proyecto web que podamos añadir al servidor Tomcat desde Eclipse. Para ello, usando el botón derecho del ratón sobre el proyecto entraremos a sus propiedades y accedemos a la opción “Project Facets”, y pulsamos en “Convert to faceted form…”. A continuación seleccionamos “Dynamic Web Module” y la versión 2.4:

facet

En este momento nos aparecerá el mensaje/enlace: Further configuration available…. Es necesario pinchar en él para cambiar la carpeta de contenido por defecto, en lugar de “WebContent” colocaremos “src/main/webapp”:

further-configuration

Tras pulsar OK, ya tenemos el proyecto en formato web y es posible agregarlo al servidor Tomcat integrado en Eclipse, pero en estos momentos, si lo ejecutamos, no funcionará. Para hacerlo funcionar es necesario incluir la dependencias Maven en la sección Deployment Assembly. Para ello volvemos a entrar en las propiedades del proyecto, pulsamos en “Deployment Assembly” y hacemos 2 cosas: primero eliminar “src/test/java” pues no lo vamos a necesitar, y segundo añadir las dependencias de Maven pulsando en Add -> Java Build Path Entries -> Maven Dependencies. Debe quedar así:

deployment-assembly

Y ahora sí, tras actualizar todo y hacer un Build, ya es posible añadir el proyecto web al servidor Tomcat integrado en Eclipse y ejecutar o hacer debug, y ya queda todo listo para usar el mismo ejemplo de los post anteriores, con Maven y el servidor Tomcat integrado en Eclipse.

Puedes descargar el código fuente de este ejemplo aquí.

Anuncios

5 pensamientos en “Aprendiendo Vaadin #3: Usando Eclipse, Maven y Tomcat

  1. Hola Iván, en realidad no digo que mejor con Tomcat, lo que digo es que me parece más cómodo, y esto es algo más bien subjetivo. En mi caso llevo muchos años trabajando con Tomcat y supongo que por eso me será más cómodo a mi. Hablar sobre si mejor o peor con un servidor u otro creo que es demasiado aventurado; más bien creo que cualquier herramienta puede ser la más adecuada para un caso particular y no serlo para otro caso.
    El hot replace en Tomcat va bien. Hay un post muy bueno sobre el tema, que aunque ya tiene algunos años aún sigue siendo válido:
    http://blog.redfin.com/devblog/2009/09/how_to_set_up_hot_code_replacement_with_tomcat_and_eclipse.html

    ¿Y tú qué servidor usas para desarrollo? ¿Cómo se comporta con el hot replace? ¿Lo usas integrado en Eclipse?
    Saludos! 😉

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s