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 \
-DgeneratePom=true

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 \
-DgeneratePom=true

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.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
Share

8 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:

    Brenda,

    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

Leave a Reply