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.

Resultado de imagen de gwt

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:

  • Instala java 1.6 desde aquí. Durante la instalación se debería añadir los comandos de java a tu path.
  • Compruébalo tecleando ‘java’ en un terminal.

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 aquí.
  • 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.

Manuel Carrasco Moino