---
title: Maven en Eclipse
url: https://jarroba.com/maven-en-eclipse/
author: Ramón Invarato
date: 2015-01-13
modified: 2026-10-21
language: es
license: CC BY-NC-SA 3.0 (https://creativecommons.org/licenses/by-nc-sa/3.0/) — attribution: "Maven en Eclipse", Ramón Invarato, jarroba.com
categories: Tecnologias Web
tags: eclipse, Maven
---

# Maven en Eclipse

> Como empezar a trabajar con Maven en Eclipse y usarlo. Instalación y uso paso a paso. Todo lo que hay que saber sobre Maven.

Es muy fácil trabajar con Maven en Eclipse. Si no sabes lo que es Maven, o te suenan extrañas las palabras «arquetipo», «artefacto», «ciclo de vida por defecto», «fases Maven», etc, así como si quieres profundizar un poco más en Maven; te recomiendo que leas [este primer artículo donde lo explicamos en detalle](https://jarroba.com/maven/). Vamos a hacer lo mismo que hicimos con la consola de comandos, [en ese otro artículo que te comenté antes](https://jarroba.com/maven/), con Eclipse.

 

Una pregunta muy común es si para Maven ¿Es mejor Eclipse o Consola de comandos? La respuesta es lo que más te guste. Hay quien prefiere la consola, si has leído [el artículo anterior](https://jarroba.com/maven/) habrás comprobado que es muy sencillo. Mis argumentos para usar el plugin de Maven en Eclipse son la comodidad, rapidez y optimización que aporta al desarrollo, además de la posibilidad de autocompletar y ayudas para Maven.

 

Para realizar este proyecto vamos a utilizar Eclipse con las herramientas ya integradas (como el plugin de Maven). Lo podemos descargar el eclipse que se llama “Eclipse IDE for Java EE Developers” desde [Eclipse Downloads (Eclipse Foundation)](https://www.eclipse.org/downloads/)

 

[![1 Descargar Eclipse IDE for Java EE Developers - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/1-Descargar-Eclipse-IDE-for-Java-EE-Developers-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/1-Descargar-Eclipse-IDE-for-Java-EE-Developers-www.jarroba.com_.png)

 

Decir que este Eclipse lleva un Maven embebido, lo que quiere decir que no hace falta que hayamos descargado Maven de la página de Maven, como hicimos en [el anterior artículo](https://jarroba.com/maven/). Sí que recomiendo descargar Maven como hicimos antes, para disponer de la última versión de Maven, ya que la embebida en Eclipse suele ir alguna versión retrasada.

 

Creamos un nuevo proyecto Maven. Como se hace habitualmente en Eclipse, pulsamos con el botón derecho del ratón en el área en blanco llamada “Project Explorer”. Seleccionamos en el desplegable en “New” y luego en “Other…”.

 

[![2 crear un nuevo proyecto Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/2-crear-un-nuevo-proyecto-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/2-crear-un-nuevo-proyecto-Maven-con-Eclipse-www.jarroba.com_.png)

 

En la ventana que se abre buscamos la carpeta “Maven”, seleccionamos el tipo de proyecto “Maven Project” y pulsamos “Next”

 

[![3 crear un nuevo proyecto Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/3-crear-un-nuevo-proyecto-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/3-crear-un-nuevo-proyecto-Maven-con-Eclipse-www.jarroba.com_.png)

 

En la siguiente parte del asistente podemos seleccionar la casilla “Create a simple Project (skip archetype selection)”, así nos creará un proyecto simple automáticamente, sin tener que seleccionar un arquetipo. Si dejamos sin seleccionar la casilla, nos aparecerá un buscador para elegir el arquetipo.

 

Para este ejemplo vamos a descargar un arquetipo simple (el mismo que descargamos con la consola de comandos). Para ello dejamos la casilla desmarcada y pulsamos “Next”.

 

[![4 arqueotipo Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/4-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/4-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)

 

Podremos seleccionar un arquetipo de los que ya están por defecto o desde alguna ubicación. Para este ejemplo seleccionaremos el que tiene de “Group Id” como “org.apache.maven.archetypes”, y de “Artifact Id” como “maven-archetype-quickstart”. Pulsamos “Next”.

 

[![5 arqueotipo Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/5-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/5-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)

 

Ya solo nos queda configurar nuestro proyecto –al igual que hicimos antes en la consola- poner el “Group Id” (yo he puesto de ejemplo “com.jarroba.ejemplo”) y el “Artifact Id” (he puesto de ejemplo “nombreDeMiProyecto”). Pulsamos sobre “Finish”.

 

Puede suscitar la duda de: ¿Si el arquetipo tiene un “Group Id” y un “Artifact Id”, ¿Por qué tengo que escribir otros nuevos? Los que sirvieron para filtrar son los datos que pusieron los creadores de ese arquetipo cuando hicieron el proyecto nuevo; como nosotros vamos a crear un nuevo proyecto, lo tenemos que poner con nuestros datos personales, no con los de otra persona (si nuestro proyecto se convirtiera algún día en arquetipo de otros desarrolladores, otros desarrolladores lo buscarían con nuestros datos, y los sustituirían con los suyos).

 

[![6 arqueotipo Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/6-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/6-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)

 

Ya tendremos nuestro proyecto creado con los “Hello Word!”, igualito igualito a como hicimos en la consola 🙂

 

[![7 estructura de un arqueotipo Maven con Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/7-estructura-de-un-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/7-estructura-de-un-arqueotipo-Maven-con-Eclipse-www.jarroba.com_.png)

 

## **Programar con Maven en Eclipse**

 

Primero vamos a ver una prueba de utilizar los comandos del ciclo de vida de un proyecto con Maven.

 

Pulsamos con el botón derecho sobre el proyecto para elegir “Run As”. En el desplegable podremos comprobar como hay ya varios comandos pre-configurados por el plugin de Maven en Eclipse; es decir, que pulsando un botón ejecutaremos estos comandos sin tener que escribir una palabra en la línea de comandos.

 

[![1 ejecutar un ciclo de vida de Maven en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/1-ejecutar-un-ciclo-de-vida-de-Maven-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/1-ejecutar-un-ciclo-de-vida-de-Maven-en-Eclipse-www.jarroba.com_.png)

 

Si por ejemplo pulsamos sobre “Maven test”, en la “Console” de Eclipse nos mostrará la siguiente salida de Maven.

 

[![2 salida Maven en la consola de Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/2-salida-Maven-en-la-consola-de-Eclipse-www.jarroba.com_-1024x690.png)](https://jarroba.com/wp-content/uploads/2015/01/2-salida-Maven-en-la-consola-de-Eclipse-www.jarroba.com_.png)

 

Te habrás fijado que nos aparece un Warning en el proyecto (triángulo amarillo con exclamación). Que si vamos a la pestaña inferior de Eclipse llamada “Markers” leeremos lo siguiente:

 

*Java Build Path Problems*

 

*Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.*

 

[![1 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/1-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_-1024x96.png)](https://jarroba.com/wp-content/uploads/2015/01/1-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

Nos está avisando que no encuentra el JRE de Java.

 

Para corregirlo vamos a añadir un **plugin**, para que Maven se encargue de gestionar por nosotros el JRE (podríamos hacerlo manual desde Eclipse, pero así ejemplifico como se usan los plugins, y es mucho más cómodo).

 

Para ello vayamos al bien amado POM. Al abrir el archivo en Eclipse tenemos que pulsar la pestaña “pom.xml”, el resto de pestañas son asistentes para configurar el POM de una manera más sencilla, que aquí no entraremos pero échalas un vistazo que son útiles.

 

Y añadimos los tag de apertura y cierre para <build>. Dentro de estos añadimos el que se llama <pluginManagement> para que nos gestione los plugins. A su vez estará el de <plugins> en plural que contendrá <plugin>. Y utilizaremos el plugin llamado “maven-compiler-plugin”, al que le diremos que queremos tanto “source” como el “target” a la última versión del JRE que tengamos instalado (yo tengo instalado el “1.8”). Por lo que insertaremos el siguiente código dentro de las etiquetas <project>:

 

```xml

<build>

	<pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</pluginManagement>

</build>
```

 

Quedará como la siguiente imagen. Y hay que guardar el fichero del “pom.xml”.

 

[![2 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/2-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_-1024x362.png)](https://jarroba.com/wp-content/uploads/2015/01/2-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

Veremos que no solo no nos ha corregido el problema sino que nos ha puesto otro ¡y de los rojos! No hay problema, simplemente que falta una cosa.

 

*Maven Problems*

 

*Project configuration is not up-to-date with pom.xml Run Maven->Update Project or use Quick Fix.*

 

[![3 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/3-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/3-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

Lo que falta es actualizar el proyecto. Todo lo que insertemos entre las llaves <build> requiere de un tratamiento especial de actualización, muy sencillo.

 

Para ello con el botón derecho sobre el proyecto, pulsamos en “Maven” y luego en “Update Project…”

 

[![4 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/4-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/4-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

La ventana que se nos abre, seleccionaremos nuestro proyecto y le diremos que actualice la configuración desde el “pom.xml” marcando “Update Project configuration from pom.xml”. Por defecto estará todo ya seleccionado y listo, por lo que no tendremos que seleccionar nada más (te marco en rojo en la imagen los check para que veas que esté todo correcto) y pulsamos “OK”.

 

[![5 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/5-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/5-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

Tarda unos segundos en procesar. Para comprobar que nos han desaparecido todos los problemas 😀

 

[![6 Error Maven en Eclipse Build path specifies execution environment... - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/6-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/6-Error-Maven-en-Eclipse-Build-path-specifies-execution-environment...-www.jarroba.com_.png)

 

Ya tenemos el proyecto limpio de problemas. Solo queda programar.

 

Aprovecho y te explico que hemos hecho. Hemos utilizado la siguiente etiqueta <build>.

 

Configuración de construcción **<build>**: se ocupa de declarar la estructura del proyecto, gestionar plugins, y configura los informes. <build> hace otras muchas cosas, aquí vamos a explicar dos etiquetas que puede contener directamente <pluginManagement> o <plugins>.

 

**<pluginManagement>**: Es casi lo mismo que no poner esta etiqueta. La única diferencia es que en lugar de la configuración la información del plugin para esta construcción del proyecto en particular, se pretende configurar la construcción del proyecto que hereda de este al usar esta etiqueta de gestión de plugins. Solo configura los plugins que son referenciados dentro de elementos de los plugins de los hijos. Los hijos tienen todo el derecho de sobrescribir lo que se ha definido en el <pluginManagement> Contiene <plugins>

 

**<plugins>**: los plugins nos aportan funcionalidades extra. En el ejemplo del código, el plugin nos configura automáticamente el proyecto para que sea compatible con el JRE de Java para la versión “1.8”. <plugins> puede estar tanto dentro como fuera de <pluginManagement>, dependiendo de lo que necesitemos. Cada plugin se define en singular **<plugin>**.

 

**<plugin>:**Un plugin tiene algunos de los siguiente elementos:

 
- **<groupId>, <artifactId>, <version>:** un plugin sigue siendo un proyecto Maven que ha hecho otro desarrollador o nosotros mismos.
- **<extensions>**: si “true” carga las extensiones de este plugin, “false” en caso contrario. Por defecto está a “false”.
- **<inherited>**: si “true” aplica la configuración del plugin a los POM que hereden de éste, “false” en caso contrario. Por defecto está a “false”.
- **<configuration>**: cada plugin tendrá unas configuraciones específicas. En el código de ejemplo pide dos valores de entrada <source> y <target>, pero variarán en cada plugin. Se puede decir que son los “setter” o los parámetros de construcción del plugin; es decir, los parámetros que quiera el que desarrolló el plugin.
- **<dependencies>**: puede tener también dependencias (bibliotecas) que sean necesarias para la ejecución del plugin.
- **<executions>**: Un plugin podría tener múltiples objetivos (goals). Cada objetivo podría tener una configuración separada, posiblemente incluso unida a un objetivo del plugin a otra fase diferente. Configura la ejecución de los objetivos de un plugin.
- **<id>**: Especifica el bloque de ejecución entre todos los demás.
- **<goals>**: Contiene una lista de elementos de objetivos <goal>.
- **<phase>**: Esta será la fase que la lista de objetivos ejecutará. Permite la unión de cualquier objetivo a una fase en el ciclo de vida de construcción, alterando al que está por defecto en Maven.

 

Un ejemplo rápido de programación con dependencias sería: Imaginemos que queremos utilizar objetos JSON serializados en objetos (un objeto simple POJO que se convierta en un JSON). Investigamos un poco y pensamos que una buena idea sería utilizar la biblioteca Gson que nos hace este trabajo. Gson es una biblioteca que ha desarrollado Google, por lo que tendríamos que ir a descargarla desde algún lado e importarla. Mucho más sencillo con Maven, vamos a la página de [Maven Repository: Search/Browse/Explore](http://mvnrepository.com/) y buscamos la última versión de Gson .

 

[![1 ejemplo artefacto maven con dependencias en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/1-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/1-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)

 

Nos copiamos la dependencia de Maven al POM de nuestro proyecto dentro de <dependencies> (le podemos poner un <scope> si queremos):

 

[![2 ejemplo artefacto maven con dependencias en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/2-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/2-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)

 

Ahora guardamos el POM y construimos nuestro proyecto para que nos la traiga desde el repositorio [Maven Repository: Search/Browse/Explore](http://mvnrepository.com/) a nuestro ordenador.

 

[![3 ejemplo artefacto maven con dependencias en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/3-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/3-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)

 

Cuando termine de trabajar Maven.

 

[![4 ejemplo artefacto maven con dependencias en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/4-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/4-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)

 

Ya podremos abrir nuestras clases Java y empezar a trabajar. Como en el siguiente ejemplo la biblioteca Gson:

 

[![5 ejemplo artefacto maven con dependencias en Eclipse - www.jarroba.com](https://jarroba.com/wp-content/uploads/2015/01/5-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)](https://jarroba.com/wp-content/uploads/2015/01/5-ejemplo-artefacto-maven-con-dependencias-en-Eclipse-www.jarroba.com_.png)

 

Te he ayudado a pasar la puerta, el resto del programa ya es cosa tuya 😀
