GWT: configurar y crear un proyecto para maven

Básicamente, lo que yo necesito es: la máquina virtual java, maven, eclipse y un navegador con el plugin de GWT. Hay otras posibilidades como usar ‘ant’ en lugar de ‘maven’ o ‘NetBeans’ en lugar de ‘eclipse’, pero yo prefiero este último por razones históricas, y además el plugin oficial de Google, que facilita mucho las cosas, sólo está disponible para eclipse.

Voy a describir estos pasos y por medio pondré algún pantallazo

Instalación de java

Seguro que ya tienes una máquina virtual funcionando en tu sistema, pero no viene mal recordarlo, sobre todo a los usuarios de linux, ya que ubuntu no viene con la jvm de sun:

Windows:

Linux (Ubuntu): Deberías tener una version de java openjdk instalada, pero te recomiendo sustituirla por la version de sun (aunque no es necesario).

  • Activa el repositorio multiverse :
    Synaptic → Settings → repositories → multiverse → close → reload
  • Marca para instalar: sun-java6-jdk, y para desinstalar: icedtea-6-jre-cacao , y aplica los cambios.
  • NOTA: es posible que la instalación de algún paquete dependiente de java te vuelva a instalar el openjdk, lo puedes desinstalar otra vez sin problemas.

Instalación de maven

  • Windows: Sigue las instrucciones de la página oficial en apache y asegúrate que el comando ‘mvn’ está en tu path.
  • Linux: Simplemente selecciona e instala el paquete maven2 desde Synaptic.

Instalación de Eclipse:

  • Descargar e instalar ‘Eclipse IDE for Java Developers’ o ‘Eclipse IDE for Java EE Developers’ desde http://www.eclipse.org/downloads
  • En Ubuntu puedes instalarlo directamente usando synaptics.

Añadir plugins a eclipse:

Plugin de Google:

  • Help → Install new software → Add
  • Seleccionar→ ‘Plugin’ y ‘SDK

Plugin de Maven:

  • Help → Install new software → Add
    • Name: m2eclipse
    • Location: http://m2eclipse.sonatype.org/sites/m2e
  • Seleccionar → ‘Maven integration for eclipse

Plugin de Subversion:

  • Help → Install new software → Add
    • Name → subclipse
    • Location → http://subclipse.tigris.org/update_1.6.x
  • Seleccionar: ‘SVNKit Library’, ‘JNA Library’, ‘Subclipse’, ‘Subversion client adapter’, ‘Subversion JavaHL’ y ‘SVNKit Client Adapter’

Un primer proyecto Gwt en eclipse

Vamos a ver si todo el entorno funciona creando un proyecto con un arquetipo que crea un proyecto para utilizar gwtquery (es un arquetipo que publiqué hace unos meses, si ves algún error házmelo saber):

  • Crear un nuevo projecto:
    File → New → Project → Maven Project → Next → Use default WS → Next → Filter: → gwt.
  • Selecciona gwtgquery-archetype.
    • GroupId: com.example
    • Articfact Id: myfirstgqueryproject
    • projectName: MyFirstGQueryProject → Intro→ finish

  • Arreglamos un par de cosas a mano relativa al ‘classpath’
    proyecto → properties → Java Build Path →

    • Source → Default Output: myfirstgqueryproject/src/main/webapp/WEB-INF/classes
    • Order and Export → Seleccionar GWT SDK y pulsar el boton Top

Ejecutar o depurar el proyecto

Ya deberiamos tener nuestro proyecto listo para ejecutar o para depurar:

  • Arrancar la aplicación:
    proyecto → properties → run as → Web Application
  • Probar la aplicacion desde el navegador.
    • Abrir el navegador y conectarse a:
      http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997
    • Los navegadores soportados para windows son IE, FF y Chrome, para Linux sólo FF (aunque chrome tiene un plugin en estado beta que es algo lento)
  • La primera vez, el navegador nos va a solicitar instalar el plugin de gwt, se conectará automáticamente a una URL de google, pulsar sobre instalar y aceptar todo.

Pero una de las características mas alucinantes en GWT es poder depurar el código de cliente en nuestro IDE, para ello lo único que tienes que hacer son poner puntos de control sobre el código java y ejecutarla en modo debug:

  • proyecto → properties → debug as → Web Application

Compilar o Ejecutar la aplicación con maven.

El proyecto está listo para maven:

  • mvn clean package (para compilar y generar el paquete a desplegar)
  • mvn clean gwt:run (para ejecutar el proyecto en modo desarrollo)

Finalmente hemos conseguido tener un entorno listo para empezar a desarrollar con GWT de una manera cómoda.

También hemos creado un proyecto de ejemplo muy simple pero que nos proporciona toda la base para un proyecto GWT usando maven y librerías de terceros, en este caso es gwtquery, pero utilizar cualquier otra librería es tan simple como añadir el repositorio donde se encuentra y la dependencia en nuestro fichero pom.xml, e incluirla en la configuración de nuestro fichero MyFirstGQueryProject.gwt.xml.

Actualización: material del seminario-taller mencionado al principio del artículo

Manuel Carrasco Moñino

Recibe más artículos como este

Recibirás un email por cada nuevo artículo.. Acepto los términos legales

8 comentarios

  1. Hola Manuel,

    Estoy poniendo a punto el entorno para las charlas y me he dado cuenta que no coinciden el GroupID, Artifact ID y projectName que aparecen en el texto con los que aparecen en los pantallazos de Eclipse.

    Gracias por el micro-tutorial de la puesta a punto del entorno.

    Nos vemos en los Encuentros.

    Salud.

  2. Alex dice:

    Hola Manuel, dos cosillas:

    – No puedo instalar correctamente el maven me da el error cuando pongo mvn –version de JAVA_HOME pero tengo añadido en las variables de entorno el java_home con el jdk

    – En eclipse cuando instalo el pluging de Maven empieza todo ok pero acaba en error, es la eclipse helios IDE for Java Developers

  3. Alex dice:

    Para Eclipse Helios, el problema de instalar en el eclipse el Plugin de maven se soluciona haciendolo desde este repositorio:

    http://m2eclipse.sonatype.org/sites/archives/0.10.2.20100623-1649/

  4. Manolo dice:

    @Oscar: gracias por tu observación. No obstante no creo que sea importante porque simplemente tomé los screenshots antes de hacer el post, y me pareció mas instructivo el segundo nombre.

    @Alex: no te preocupes por el error de JAVA_HOME, si se ha ejecutado el comando maven es que ha encontrado un java y es simplemente un aviso. Y gracias por tu aviso del problema con m2eclipse, lo tendremos en cuenta mañana durantel el workshop.

    Nos vemos mañana

  5. Julio dice:

    Menos mal que tu por lo menos has publicado el material que hace falta para que todos lleguen preparados.

    Y no como el impresentable que dio la charla de Ext el jueves, que de EXT enseño nada, Exte era el cebo para que fuese la jente. Se enrollo 2 horas con la teoria, y despues de poner en la web que es importante traer el portatil para seguir la practica, como se le echaba el tiempo encima, hizo copy-paste del codigo, no lo siguio nadie, y nadie se enteró de nada.

    ¿Para que nos hicieron llevar los portatiles?, si aunque no los hubieramos llevado daba igual, es la peor charla a la que he asistido en mi vida.

    Fueron 2 horas de toston(teoria) y 45 min de practica, que no fueron capaces de seguirla ni siquiera los profesores que asistieron.

  6. Manolo dice:

    Dejo los enlaces con el material del seminario-taller mencionado al principio del artículo:

    – Charla: http://gwt-workshop.googlecode.com/files/GWT-DeCharlas.pdf

    – Ejercicios: http://gwt-workshop.googlecode.com/files/GWT-DeCharlas-Ejercicios.pdf

    – Workspace con los proyectos: http://gwt-workshop.googlecode.com/files/GWT-DeCharlas-EclipseWorkspace.zip

  7. dgsdgsdg dice:

    Julio, ¿Porque no te callas?

    El portatil era para el dia siguiente no para el primer dia, sino lee bien la información y si tu no te enterastes es tu problema yo y mis compañeros si.

  8. ignacio dice:

    Muy buenos días Manolo:
    Este post es de hace 6 años, como pasa el tiempo.
    el apartado de “Ejecutar o depurar el proyecto” ha quedado obsoleto, podrías actualizar esta parte para contar como se debería hacer ahora estos pasos con el modo super dev, porque el plugin que comentas ya no está disponible.
    Gracias por el post, que 6 años despues es casi igual de bueno.

Escribe un comentario