# Including a local package as a Maven dependency

Lately I’ve been tasked with developing a Java library for internal use. For testing, its proved useful to package the library for local use. This article describes how to add a Jar file to a local Maven repository for use in your own testing and development.

## Create your local Maven repository

Your local Maven repository lives within the project you are developing for. Creating your local repository is as simple as making a new directory.

mkdir repo

Once you have a repository, you can deploy your artifact into it. This uses the mvn deploy goal and requires a few parameters:

url         # the location of your repo
file        # the location of your jar file
groupId     # your group id (com.sookocheff)
artifactId  # your artifact id (devlib)
packaging   # jar
version     # version number

Putting this together gives us the following command:

mvn deploy:deploy-file -Durl=file:///path/to/repo/ -Dfile=devlib-0.1.jar
-DgroupId=com.sookocheff -DartifactId=devlib -Dpackaging=jar -Dversion=0.1

After running this command, Maven will place your jar file in the local repo/ directory in the required format.

Now you can edit your pom.xml file to add the local repository to use for testing.

<repositories>
<repository>
<id>project.local</id>
<name>project</name>
<url>file:\${project.basedir}/repo</url>
</repository>
</repositories>

Now you can add your jar file as a dependency in the usual way.

<dependency>
<groupId>com.sookocheff</groupId>
<artifactId>devlib</artifactId>
<version>0.1</version>
</dependency>

You can also safely commit the repo/ folder and your updated pom.xml for other developers to use.