How to use Maven pom to download jar files only to a specific directory?

Is there a way to download dependencies from a pom.xml file to a specified folder in java? I'm able to run maven command from java and I got download messages, but I don't know where maven stores these libraries? How can I download these dependencies to a specific folder?

Answers


Take a look at maven's dependency plugin, specifically the copy-dependencies goal. The usage section describes how to do exactly what you want.

To do it from the command line just do:

$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR

Add something similar to the following to pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <configuration>
        <outputDirectory>
            ${project.build.directory}
        </outputDirectory>
    </configuration>
</plugin>

Then run mvn clean dependency:copy-dependencies to perform the copy. Combine this with the assembly plugin and you can package everything into a self contained archive for distribution.


  1. Go to this site: http://jar-download.com/online-maven-download-tool.php

  2. Insert the Maven dependencies XML

  3. Download the jar files as a ZIP.


As explained here, you can use maven-dependency-plugin:get for this.

For example, if you want to download org.apache.hive:hive-common:2.1.1 in your local folder, execute this:

mvn dependency:get -Ddest=./ -Dartifact=org.apache.hive:hive-common:2.1.1

If you want to download the latest 3.0.0-SNAPSHOT:tar.gz version of com.orientechnologies:orientdb-community-gremlin from https://oss.sonatype.org/content/repositories/snapshots snapshots repository, execute this:

mvn dependency:get -Ddest=./ -DremoteRepositories=sonatype-nexus-snapshots::::https://oss.sonatype.org/content/repositories/snapshots -Dartifact=com.orientechnologies:orientdb-community-gremlin:3.0.0-SNAPSHOT:tar.gz

Maven stores all of these in it's local Maven2 repository. By default, it will store them in your user home directory under a directory called repository.

You can use the maven-dependency-plugin's goal called copy to take all of your project's dependencies and put them in a folder.

http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html


Need Your Help

Is there an IDictionary implementation that, on missing key, returns the default value instead of throwing?

c# .net hash dictionary

The indexer into Dictionary throws an exception if the key is missing. Is there an implementation of IDictionary that instead will return default(T)?

Asynchronous IO in Scala with futures

multithreading scala io future

Let's say I'm getting a (potentially big) list of images to download from some URLs. I'm using Scala, so what I would do is :