Hemos visto en los post anteriores como instalar el plugin de eclipse para gestionar proyectos de maven . En este post veremos como definir un conjunto de dependencias de librerias para nuestro proyecto. En nuestro caso vamos a utilizar JSF 2.0 y Log4J para crear una aplicación sencilla. Para ello necesitaremos acceder al repositorio principal de maven que es el que tiene instalados todos los artefactos y buscar los que nosotros necesitamos (JSF y Log4j) con sus versiones especificas.
La url de acceso al repositorio central de Maven es :
Una vez accedemos a esta URL vemos la siguiente página que nos permite buscar artefactos.
Si buscamos log4j nos aparecerá lo siguiente :
Localizado Log4j pulsamos sobre el link de Apache Log4j y nos aparecerá la siguiente página :
En la cual podemos enlazar a las distintas versiones de artefactos que el repositorio tiene almacenadas .Pulsamos sobre la 1.2.17 y accederemos a la información que necesitamos para nuestro proyecto en concreto.
Deberemos copiarnos la sección XML de dependencias que nos aparece en la página:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
Una vez hecho esto deberemos repetir la misma operación para las dependencias de JSF que son las siguientes :
<dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.1.20</version> </dependency> <pre> 
<dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-impl</artifactId> <version>2.1.20</version> </dependency> <pre>
Realizada esta operación añadiremos todas las dependencias en nuestro fichero pom.xml en la sección de dependencias(<dependencies>)
&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&amp;gt; &amp;lt;modelVersion&amp;gt;4.0.0&amp;lt;/modelVersion&amp;gt; &amp;lt;groupId&amp;gt;com.arquitecturajava.proyecto1&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;proyecto1&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;0.0.1-SNAPSHOT&amp;lt;/version&amp;gt; &amp;lt;packaging&amp;gt;war&amp;lt;/packaging&amp;gt; &amp;lt;dependencies&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.sun.faces&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jsf-api&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;2.1.20&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;com.sun.faces&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;jsf-impl&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;2.1.20&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;log4j&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;log4j&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;1.2.17&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp;gt; &amp;lt;/dependencies&amp;gt; &amp;lt;/project&amp;gt;
Una vez definidas las dependencias si empaquetamos la aplicación con “mvn package” podremos ver como Maven se baja del repositorio central las dependencias que necesita para nuestro proyecto y las añade a la carpeta lib.
Hecho esto podemos proceder a construir la aplicación que realizará log sin ningún tipo de problema ya que tenemos bien definido el conjunto de dependencias. En casos mas complejos podemos encontrarnos con artefactos que dependen de otros artefactos en cuyo caso la herramienta se encargará de bajar todo lo necesario eliminandonos problemas.