Maven, crear repositorio en el proyecto

¿Por qué es necesario un repositorio en el proyecto ?

Por diversas razones es necesario agregar librerías propietarias a nuestros proyectos, estas librerías pueden no estar en los repositorios públicos de maven y tendremos que descargarlas, un ejemplo es el driver JDBC de SQLServer.

Solución

Lo primero es descargar los jar que necesitemos y crear una carpeta repository dentro de nuestro proyecto.

Después en el pom.xml agregamos el repositorio de esta forma

<repositories>
    <repository>
        <id>repository</id>
        <url>file://${project.basedir}/src/main/resources/repository</url>
    </repository>

</repositories>

Como podemos ver la variable ${project.basedir} nos da la ruta absoluta a la raíz de nuestro proyecto.

Solo queda agregar nuestras librerías respetando la estructura de directorios de maven en los repositorios, la cual esta compuesta de la siguiente forma ( esto dentro de la carpeta repository ):

/groupId/artifactId/version/artifactId-version.jar

Por ejemplo si quisiéramos agregar el driver JDBC de SQLServer seria así:

  • Ruta donde estará nuestro jar /src/main/resources/repository/com/sqljdbc4/1.0/sqljdbc4-1.0.jar

  • Repositorio en el pom.xml

    <repositories>
    <repository>
        <id>repository</id>
        <url>file://${project.basedir}/src/main/resources/repository</url>
    </repository>
    

  • Dependencia en el pom.xml

    <dependency>
        <groupId>com</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>1.0</version>
        <scope>runtime</scope>
    </dependency>
    

Listo con esto tendremos disponible nuestro jar y podremos cambiar su scope para evitar el temido java.lang.ClassNotFoundException de nuestro driver.

Fuentes

Jesús Perales

Read more posts by this author.

Subscribe to Jesús Perales

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!