Install an external jar into local Maven repository

Sometimes, you project will have dependency on a jar which is not in official maven repository, and maybe it is propriety jar file which will never be part of maven repository. In this case, you have to put it to your local repository your self to solve the dependency.

There is a install plug in to do this job, which is something like:

mvn install:install-file -DgroupId=<your_group_name>  \
-DartifactId=<your_artifact_name>  \
-Dversion=<snapshot>  \
-Dfile=<path_to_your_jar_file>  \
-Dpackaging=jar \

For example, you want to install the danga’s memcached client plugin, you can do:

mvn install:install-file -DgroupId=com.danga \
-DartifactId=memcached \
-Dversion=2.0.1 \
-Dfile=java_memcached-release_2.0.1.jar \
-Dpackaging=jar \

This will add the memcache jar into your local Maven2 repository under groupId com.danga and artifactId memcached, you can then edit your pom.xml adding this dependency.

However, the maven eclipse can not recognize it since it always search from public repository.

Be Sociable, Share!

24 Responses to “Install an external jar into local Maven repository”

  1. chetan Says:

    Not sure when this was posted, but as of today (2009-04-21), the Eclipse plugin does pickup jars from your local .m2 folder.

  2. jeff Says:

    Which plugin are you using? m2eclipse or Q for eclipse (I think now is Eclipse IAM). I am using m2eclipse. What I got is If I choose “add Dependency…” from menu, the installed jar is not shown in the search result. I can edit the POM file manually and eclipse will pick up the the jar in .m2.

  3. Eclipse Galileo: MAT (…and a little Spring…) « Ice09 Says:

    [...] be downloaded here. The Spring libraries have to be added manually to the local maven repo (compare this.) The pom is inspired by this [...]

  4. Alex Turetsky Says:

    I think you can just issue “mvn eclipse:eclipse” to tell eclipse about the new jar, so it can update the classpath.

  5. Michael Mertins Says:

    Hi, I reproduced your error and found a solution: execute the mvn install:install-file command in the exact local directory of your pom file and then run the pom file in exlipse with “run as” -> Maven install
    Good luck!

  6. buy chun li costume Says:

    I follow your website for quite a lengthy time and have to have tell that your articles often prove to be of a high value and high quality for readers.

  7. Brenda Moon Says:

    I found that using the eclipse Maven Repositories view and right clicking on the Local Repository entry to rebuild it after I had used mvn install:install-file made the installed jar visible to m2eclipse so i could just add the dependency via search.

    I did the mvn install:install-file in the eclipse workspace directory as suggested by Michael Mertins, but don’t know if that was important or not.

    Using “run as”->Maven install didn’t work for me.

  8. Kathy S Says:


    That last tip did it for me! Thank you! After I rebuilt the repository index, the classes were able to be resolved.

    I didn’t know how to switch to the maven repository view, so here is how you do it:

    To get to the ‘maven repository view’, in eclipse, go to Window->Show View->other->maven->repositories

    A window will open up along the bottom pane. Expand Local Repository and highlight your local repository — right-click->build index

  9. Add a jar to maven local repository | wrongdoor Says:

    [...] Examples above are from following link: [...]

  10. Nimmi Says:


    I ran mvn installl command followed by mvn eclipse:eclipse, refresh my eclipse project, added the dependency in the pom.xml, clean build the project, went to the maven repositories view and did the build index.

    The jar file shows up in the classpath and I have no compile error but still:

    the jar file does not show up in WEB-INF/lib directory

    What am I missing??

  11. Nimmi Says:

    Continuation of my previous message……

    So I get runtime NoClassFoundException saying the class (which is supposed to be in my jar file)

  12. JP Says:

    Thank you, it was usefull for me today !

  13. Piet Says:

    Under File>Import ; dialog appears; choose Maven>install or deploy artifact.
    This enables install of your jar of choice in your local repository

  14. chrismarx Says:

    this is so stupid, i had the necessary jars in the local repo, i could see the jars in the maven repositories view, but until i manually mvn install-file, it couldn’t see it. stupid-

  15. hgv licence Says:

    Yup I have to agree with this!

  16. flash games free online for women Says:

    Um… to be honest , i am stumped by the post . Being a web developer , now i plan to make a game on this!

  17. Fettverbrennungsofen Erfahrungen Says:

    I was more than happy to search out this net-site.I needed to thanks for your time for this wonderful read!! I undoubtedly having fun with each little bit of it and I have you bookmarked to take a look at new stuff you blog post.

  18. KPI Data Mining Says:

    KPI Data Mining…

    Do you know what data mining is? It is a type of useful methods used by some businesses for sales and marketing….

  19. yogi Says:

    How to run ESPER using JDK?

    What things are required ?

    Can we run ESPER without mavan or it is must?

  20. nobugz Says:

    hi guy.
    I’m using m2eclipse. when i add a dependencies (mybatis 3.0.5) into build path, eclipse auto install it in local reposity.
    but i think this tutorial is very usefull.

  21. Davy F Says:

    Like Kathy said, the tip from Brenda works perfectly, thx!

  22. Ubiquinol Benefits Says:

    Btw my lady told me to check out your webpage, it is actually really interesting. I’ll inform my buddies about it as well. Looking forward to researching alot more about ubiquinol benefits.

  23. Sudeep Shakya Says:

    I have downloaded a jar file for apache wicket but there was only .java files in the package but .class file is needed. So how to compile the .java files to .class file ?????

  24. Rickey Aharoni Says:

    Ask the web hosting provider how fast their technical support can respond to technical problems. can even be educational.

Leave a Reply