miércoles, 22 de febrero de 2017

Añadir Librerias Manualmente Usando Maven en Java

Un pequeño TIP para tener a mano para aquellos momentos en que es necesario añadir una Librería manualmente usando Maven en proyectos Java.

Suele suceder que a veces, ciertas dependencias (Librerías) no están disponibles desde el repositorio de Maven o alguna versión en particular no se puede descargar. En este caso, lo mejor es  añadir manualmente la dependencia.



En este ejemplo practico se usará NetBeans como IDE.

Usando Maven

Para poder realizar los pasos, es necesario contar con Maven.

En caso de usar un IDE diferente como Eclipse por ejemplo, se deberá configurar previamente Maven en dicho IDE.

La ruta del Maven Standalone que viene incluido en NetBeans, en el caso de Windows, se encuentra en la ruta: C:\Program Files\NetBeans 8.1\java\maven\bin\

Una vez aclarado esto:

1_ Abrir la Consola (o Terminal) y dirigirse al path anteriormente nombrado con el comando:

cd "C:\Program Files\NetBeans 8.1\java\maven\bin\"



2_  Descargar la librería que necesitamos añadir.

En este ejemplo se va a añadir la librería ojdbc7.jar para poder conectarse a una base de datos Oracle.

Para esto, descargar el JAR desde su pagina de descargas: http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html


3_ Utilizar Maven para añadir la librería al repositorio local, para ello, desde la misma consola ejecutar el siguiente comando:

mvn install:install-file -Dfile=C:\ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0 -Dpackaging=jar


Entendiendo lo que hace el comando anteriormente ejecutado...

La opción -Dfile= se usa para indicarle a Maven donde está el JAR que queremos añadir al repositorio local.

En cambio -DgroupId= indica el ID del grupo al cual pertenece la librería. Esto es importante ya que se usará luego en el archivo POM del proyecto Java para descargar la librería.

-DartifactId= nos permite establecer el nombre que tendrá la dependencia o librería dentro del repositorio.

-Dversion= configura la versión que tendrá dicha librería o dependencia.

Y por ultimo, -Dpackaging= hace que Maven interprete cual será el formato de la librería (en este ejemplo: JAR).


4_ Añadir la dependencia en el archivo POM del proyecto Java, para esto editar el archivo pom.xml y añadir el siguiente código dentro del elemento <dependencies>:

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc7</artifactId>
            <version>12.1.0</version>
        </dependency>



Como se puede apreciar en la figura anterior, se están usando los datos que se establecieron en el comando ejecutado por maven en el punto anterior, es decir: groupId, artifactId y version.


5_ Por ultimo, resta compilar el código y probar los cambios.


Cualquier duda, aclaración o recomendación. Puede tratarse libremente en los comentarios de este articulo.

7 comentarios:

  1. Excelente me ha ayudado un mundo con un proyecto, tengo una duda en un proyecto me dieron una carpeta que contiene un EJB que debe ser agregado como dependencia, los .jar me quedaron bastante claros, pero como agrego un carpeta entera como dependencia a un proyecto?
    Gracias de antemano

    ResponderEliminar
  2. Me genera error sobre no encontrar la variable java_home

    ResponderEliminar
  3. podrias hacer uno de como hacer una conexion entre java y mysql usando maven?

    ResponderEliminar
    Respuestas
    1. Claro! trataré de hacer uno esta semana. Saludos y gracias por comentar :)

      Eliminar
  4. Hola, mi pom.xml tiene un error en la linea de la etiqueta estoy haciendo un proyecto spring desde eclipse. que me recomiendas

    ResponderEliminar
    Respuestas
    1. Podrías compartir el contenido del archivo pom.xml? es preciso verlo para corroborar que no sea una problematica de sintaxsis o si te falta algo por agregar. Quedaré al pendiente. Saludos!

      Eliminar