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>)
&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"&gt; &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt; &lt;groupId&gt;com.arquitecturajava.proyecto1&lt;/groupId&gt; &lt;artifactId&gt;proyecto1&lt;/artifactId&gt; &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt; &lt;packaging&gt;war&lt;/packaging&gt; &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;com.sun.faces&lt;/groupId&gt; &lt;artifactId&gt;jsf-api&lt;/artifactId&gt; &lt;version&gt;2.1.20&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.sun.faces&lt;/groupId&gt; &lt;artifactId&gt;jsf-impl&lt;/artifactId&gt; &lt;version&gt;2.1.20&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;log4j&lt;/groupId&gt; &lt;artifactId&gt;log4j&lt;/artifactId&gt; &lt;version&gt;1.2.17&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; &lt;/project&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.
[…] Otros artículos relacionados : Introducción a Maven , Maven y Dependencias […]
[…] artículos relacionados : Introducción Maven , Maven Dependencias , Maven […]
Buenos Dias. Te comento que hice lo que el manual de instrucciones me indicaba dentro del pom.xml agregue la dirección de selenium para que me descargue la libreria. Pero cuando quise ejecutar las pruebas dentro de un proyecto base no me basico que es el Hello Word para probar si me reconocia las liberias de selenium me arrojo un error me refiero a esta: import org.openqa.selenium.Webdriver; import org.openqa.selenium.firefox.FirefoxWebdriver; También tengo una consulta en cuanto a maven dentro de mi proyecto no me aparecen la opción de Maven Dependencies, por lo que lei en una manual se tiene que configurar el… Read more »
Buenas Noches.
Quisiera saber como agregar dentro de mi proyecto maven el .jar de Maven Dependecies, en vista que cuando creo mi proyecto en Maven no me traer el jar y quiero agregarlo dentro de mi proyecto para poder agregar otras dependencias.
normalmente todas las dependencias se añaden en el fichero pom.xml 🙂
HOla!
Tengo el siduiente error a q s db???
X favor ayuda!
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project DVDStoreAdmin: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
ni idea 🙁
Cecilio buena tarde, tengo una problema al momento de instalar los paquetes de maven. El sistema operativo es ubuntu 12.04, y estoy usando el comando: mvn -U package sin embargo me genera el siguiente error: [ERROR] COMPILATION ERROR : [INFO] ————————————————————- [ERROR] /home/dspace/dspace-4.2-src-release/dspace-api/src/main/java/org/dspace/discovery/BitstreamContentStream.java:[17,23] cannot find symbol symbol : class StandardCharsets location: package java.nio.charset [ERROR] /home/dspace/dspace-4.2-src-release/dspace-api/src/main/java/org/dspace/discovery/BitstreamContentStream.java:[69,68] cannot find symbol symbol : variable StandardCharsets location: class org.dspace.discovery.BitstreamContentStream [INFO] 2 errors [INFO] ————————————————————- [INFO] ———————————————————————— [INFO] Reactor Summary: [INFO] [INFO] DSpace Parent Project ……………………….. SUCCESS [14.963s] [INFO] DSpace Services Framework :: API and Implementation SUCCESS [3.488s] [INFO] DSpace Kernel :: API and Implementation… Read more »
Te esta fallando al compilar parece que no encuentra alguna clase…. puede ser que no tengas la versión adecuada de JDK?
Hola Cecilio queria pedirte ayuda.
me encuentro con un problema mira que para el lugar donde trabajo, hicieron un software el año pasado este lo realizaron con maven, jsf y openjpa
para esto nos dieron una breve capacitacion, nos ayudaron a instalar el entorno de desarrollo en nuestras computadoras personales y ahora estoy siguiendo los pasos que nos dieron para instalar el entorno de desarrollo en una computadora de escritorio y me sale un monton de errores pese a que se descargo todos los repositorios o como puedo instalar los repositorios que tengo en mi portatil a este otro computador
Buenas
En principio no deberieras tener problemas usando el comando maven install que te instala un artefacto en un repositorio remoto http://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html
esto es lo que pasa al hacer mvn clean install en un archivo de configuracion para el proyecto C:\Users\Alvar0\Documents\NetBeansProjects\siqi\siqisiqi>mvn clean install -Dski pTest=true [INFO] Scanning for projects… [INFO] ———————————————————————— [INFO] Reactor Build Order: [INFO] [INFO] Scaffold Siqi Siqi [INFO] siqisiqi-configuration [INFO] siqisiqi-bonecp [INFO] siqisiqi-openjpa [INFO] siqisiqi-examples [INFO] siqisiqi-example-simple [INFO] siqisiqi-parameters [INFO] siqisiqi-log4j [INFO] siqisiqi-example-crud [INFO] siqisiqi-example-guice [INFO] siqisiqi-pdfbox [INFO] siqisiqi-quartz [INFO] [INFO] ———————————————————————— [INFO] Building Scaffold Siqi Siqi 0.2 [INFO] ———————————————————————— [INFO] [INFO] — maven-clean-plugin:2.4.1:clean (default-clean) @ siqisiqi-parent — [INFO] [INFO] — jacoco-maven-plugin:0.6.3.201306030806:prepare-agent (default) @ siqi siqi-parent — [INFO] Skipping JaCoCo for project with packaging type ‘pom’ [INFO] argLine set… Read more »
tienes errores en los test, deshabilitalos
Cecilio hice lo del mvn install, pero en mi carpeta target, bajo la carpeta del proyecto, META-INF-> lib, ahi estan todas las librerias, pero no se como se agregan automaticamente en el build path del proyecto, para seguir programando y no me despliegue error de que no encuentra los metodos.
Gracias
En la instalación de maven tiene que existir un directorio .m2 . En donde el ha cacheado localmente todos los artefactos en esa carpeta tienes que ser capaz de localizar el artefacto que has construido .Si lo localizas es que directamente ya lo tinees en tu repositorio local .Simplemente para usarlo en una nueva aplicación lo añades como dependencia.
Cecilio, cuando creo un proyecto nuevo con maven en Eclipse, y agrego mis dependencias y ejecuto mvn package, se supone que baja las librerias necesarias (Ejs: log4j), ahora mi consulta es, cuando empiezo a crear mis codigos fuentes, como asocio esa libreria a mi proyecto, ya que cuando estoy escribiendo código, no me reconoce la libreria, tendria que ir al build path y asociar la libreria con las que baje o eso lo hace automaticamente el Maven?
Desde ya mychas gracias
Tendras que hacer un maven install de esa manera te crea la libreria en tu maven local y ya en otros proyectos tendrás acceso a ella.
Hola Cecilio, una consulta, puedo tener un repositorio local para que el maven busque primero ahi y despues uno externo?
Si si que puedes de hecho es muy habitual tenerlo asi
Hola Cecilio, he seguido los posts de Maven y me han sido de gran ayuda, excelente trabajo!!. Tengo la siguiente duda relacionada con las dependencias, si yo tengo un conjunto de librerías (archivos .jar) como puedo agregarlas al repositorio de Maven para referenciarlas desde otros proyectos como dependencias??
Claro que puedes hacerlo para ello necesitas utilizar Maven con la orden install que te lo instala en el repositorio local