Tag Archives: Maven

Mavenizar un proyecto en Eclipse

En este post vamos a presentar un ejemplo de como usar Maven desde Eclipse para resolver las dependencias de librerias externas del proyecto via Maven. Además podemos usar Maven para crear distribuciones (desplegables) de nuestros proyectos.

El ejemplo que vamos a usar es un proyecto web en Eclipse. Los pasos a seguir serian los siguientes:

1. Instalar Maven en el sistema. En el ejemplo usamos Maven 2.2.1.

http://maven.apache.org/download.cgi

2. Instalar el plugin de Maven 2 en Eclipse (m2eclipse). Usamos el Eclipse Marketplace para esto:

mvn_01

3. Una vez instalado, lo configuramos para que use nuestra instalación del punto 1 de Maven:

mvn_02

También seleccionamos el fichero de configuración de Maven 2:

mvn_03

mvn_04

En ese mismo fichero (settings.xml) se configura la localización del repositorio local, asi como las credenciales de acceso a través del proxy, en caso de ser necesario, para poder descargar las dependencias si éstas no existen en el repositorio local:

Es conveniente también revisar la configuración del proxy desde Eclipse, pero si estamos detrás de uno de ellos y hemos podido descargar e instalar el plugin de Maven desde el Marketplace, en principio lo tendremos correcto.

4 – Mavenizar el proyecto. Una vez creado el proyecto en Eclipse, hacer lo siguiente: Seleccionar el proyecto. Hacer click sobre él son el botón derecho del ratón. Se muestra un menú pop-up. Seleccionar la opción “Configure” –> “Convert to Maven Project”

mvn_06

Automaticamente se creará en el proyecto un fichero pom.xml. Es en ese fichero donde podremos añadir las dependencias y las configuraciones para generar los desplegables, más adelante.

5 – Añadir las dependecias

Seleccionando el fichero pom.xml, se pueden añadir las dependencias:

- Usando la GUI que proporciona:

mvn_08

mvn_09

- O bien directamente editando en el fichero pom.xml:

Al guardar se actualizará automaticamente la dependencia, descargando la libreria desde el sitio por defecto (http://search.maven.org/) si no está en nuestro respositorio local, y enlazandola como “dependencia Maven” en nuestro proyecto en Eclipse para que podamos compilar sin problemas. Se pueden configurar otros destinos para descargar las librerias desde otros repositorios remotos, o incluso copiarlas directamente a nuestro repositorio local para que se recojan desde ahí.

6 – Compilar y crear distribuibles desde Maven

Puede ser conveniente compilar y crear un distribuible, como un WAR para desplegar, mediante Maven. En el ejemplo que presentamos lo usaremos para crear diferentes despliegues en función del pérfil que seleccionemos. Esto es útil porque podemos querer generar diferentes despliegues para diferentes entornos, ya que pueden tener configuraciones distintas, como URLs, rutas locales y demás.

- Creamos los perfiles con la configuración que necesitemos. En este caso creamos dos perfiles (devel y prod). En cada uno queremos compilar y generar un WAR. Además queremos que para cada uno use unos ficheros de configuración determinados, e ignore otros. Añadimos en el pom.xml lo siguiente:

En este perfil indicamos los recursos web (WebContent) que queremos incluir en el perfil y dentro de ellos los que queremos excluir (los ficheros de configuración que queremos reemplazar por los que hay en /configs/devel).

- Usamos Eclipse para ejecutar el perfil:

La primera vez que ejecutamos el perfil realizamos la siguiente acción: Se clica con el botón derecho del ratón sobre el proyecto. En el menu pop-up que aparece se selecciona “Run As” –> “Maven build…”. En el diálogo que aparece se puede crear una ejecución Maven que se podrá reutilizar en el futuro. Se pueden añadir los siguientes goals:

mvn_12

Si se marca la casilla offline, evitaremos que se intenten descargar dependencias remotas en caso de no encontrarlas en local. Con esto bastaría para que se cree dentro del proyecto, en la carpeta target, el distribuble generado. También se puede maracar Skip Tests para evitar que se compilen y se ejecuten los posibles JUnit test que puediera haber presente.

En las siguientes ejecuciones, la configuracion de Maven creada aparecerá disponible desde “Run As” –> “Run Configurations…”: