Instalando y usando JRebel en Eclipse IDE & Tomcat

PASO 1: Instalando JRebel en Eclipse

Eclipse 3.6 Helios (y posteriores) – Instalación a través de Eclipse Marketplace

Para instalar JRebel en Eclipse, abriremos Eclipse Marketplace (Help » Eclipse Marketplace…) y buscaremos “jrebel”. Haremos click en el botón “Install” que aparecerá al lado.

1-market place

Eclipse 3.3, 3.4 & 3.5 – Instalación a través del Update Manager

La instalación a través del Update Manager es similar a la descrita anteriormente. Abriremos “Help » Install New Software… y pegaremos la siguiente URL: http://zeroturnaround.com/update-site/

2-update manager

Para que el proceso de instalación vaya más rápido, podemos deseleccionar la opción “Contact all update sites…” si ya tenemos todos los prerequisitos. Por ejemplo, el paquete “Eclipse IDE for Java EE Developers” ya contiene todo lo necesario, incluyendo WTP.

PASO 2: Seleccionando opciones y acabando el proceso de instalación

Seleccionaremos las opciones que queramos instalar. El plugin JRebel es requerido y deberá ser instalado por todo el mundo. Esto es lo que incluye:

  • El plugin contiene una instalación completa de JRebel, la última versión, para que no tengamos que bajarlo por separado – sólo necesitaremos una licencia después de la instalación.
  • El plugin también incluye el Eclipse Debugger Integration que ayuda al debugger del IDE para reconocer nuevo código y poder establecer breakpoints.

El plugin JRebel for Java EE es opcional pero seguramente también lo queramos instalar. El plugin es recomendado si queremos utilizar WTP (Web Tools Platform) en proyectos con JRebel.

JRebel m2eclipse está disponible si instalamos a través del update site. Este plugin permite generar el archivo de configuración jrebel.xml en builds con m2eclipse y jrebel-maven-plugin.

PASO 3: Configurar JRebel y añadir licencia

Después de reiniciar Eclipse, si no tenemos una licencia de JRebel instalada, el plugin mostrará una notificación para que procedamos al registro. Haremos click en el enlace del pop-up para proceder a la configuración de la licencia.

3-notification

El enlace nos va a llevar a la ventana de activación de JRebel donde tendremos que seleccionar la licencia que queremos: licencia de evaluación de 14 días, licencia OSS/Scala/Social o comprar una nueva licencia.

4-jrebel config centre

Si ya disponemos de una licencia, la podemos copiar directamente en el área de texto que nos aparece. En caso contrario, podemos seleccionar la opción de evaluación que nos direccionará a la página de JRebel para rellenar el formulario de registro. Una vez enviado el formulario, nos proporcionará la licencia que deberemos copiar. La licencia se verificará y se guardará en un archivo jrebel.lic en el directorio {user.home}./jrebel.

PASO 4: Usando JRebel en Eclipse

Paso 4.1: Habilitar el modo “Build Automatically”

Comprueba que Project » Build automatically está habilitado:

5-build automatically

Paso 4.2: Añadir la naturaleza JRebel al proyecto

Para que JRebel pueda hacer su trabajo, tiene que saber donde están las clases y los recursos. Añadiremos un archivo de configuración jrebel.xml para especificarlo. Esto es necesario para desplegar la aplicación en un WAR/EAR. Deberemos tener un jrebel.xml en cada módulo, esto incluye módulos web y EJB. El archivo de configuración jrebel.xml se deberá poner en el directorio WEB-INF/classes en caso de los módulos web y en la raíz del jar en módulos EJB. El archivo jrebel.xml se genera automáticamente cuando activamos JRebel Nature.

6-JRebel Nature

Si usamos Maven podemos utilizar el plugin JRebel Maven que generará el jrebel.xml según el módulo pom.xml tal y como se describe en el manual de configuración del plugin para Maven.

En el 99% de los casos, probablemente tengamos un solo módulo. Es estos casos, el archivo jrebel.xml generado automáticamente debería ser suficiente. Si el proyecto es una de las excepciones, podremos editar manualmente el archivo tal y como describe el manual de instalación.

Si queremos utilizar la configuración en jrebel.xml para todo el equipo, empezaremos con el jrebel.xml generado, y seguidamente reemplazaremos todas las rutas absolutas a nuestro workspace por una propiedad del sistema. JRebel reemplazará expresiones como “${myProject.root}” en jrebel.xml por una propiedad del sistema que podemos pasar al contenedor de aplicaciones de la siguiente manera: -DmyProject.root=/Users/salmar/myProject. Esto permite usar una única configuración para todo el mundo y personalizarla cuando iniciamos el servidor.

Si todos los componentes del equipo usa Eclipse con un workspace similar, podemos incluso evitar utilizar una propiedad propia ya que todas las aplicaciones arrancadas con JRebel en Eclipse tienen una propiedad rebel.workspace.path definida en el workspace  y se puede usar como “${rebel.workspace.path}” directamente en el jrebel.xml.

Paso 4.3: Arrancar la aplicación con JRebel

Cuando arrancamos una aplicación podemos habilitar JRebel para esa configuración específica de arranque. Esto quiere decir que cuando lo habilitamos, -javaagent:your_location/jrebel.jar se añadirá automáticamente a los flags de arranque. Si seleccionamos la casilla de debug, se generará un fichero jrebel.log en el directorio de metadatos en el workspace de Eclipse o en la ubicación del fichero jrebel.jar

Para habilitar / deshabilitar JRebel navegaremos a la pestaña JRebel en la configuración de ejecución y marcaremos las casillas.

7- Run Configuration

Paso 4.4: Configurar WTP

La publicación automática deberá ser deshabilitada en la configuración del servidor. Haciendo doble click en el nombre del servidor se mostrará la página de configuración. En la sección Publishing seleccionaremos la opción Never publish automatically tal y como se muestra en la siguiente imagen.

8-Tomcat publishing

Paso 4.5: Éxito!

Para comprobar que la instalación se ha llevado a cabo con éxito, accederemos a una página que use alguna clase, cambiamos la clase en el IDE y la guardamos. Cuando accedamos a la página nuevamente, deberíamos ver los siguientes mensajes en consola:

9-Tomcat console
Ahora que ya lo tenemos todo configurado, podemos programar sin necesidad de hacer redeploy. Si tienes cualquier duda específica de JRebel, el foro es el mejor sitio para preguntar, así otras personas podrán ver la respuesta también.

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