How to simply download a JAR using Maven?

MavenJar

Maven Problem Overview


How do I download JAR during a build in Maven script?

Maven Solutions


Solution 1 - Maven

Maven does not work like that. Here's the closest you'll get to my knowledge:

mvn dependency:get -DremoteRepositories=http://repo1.maven.org/maven2/ \
                   -DgroupId=junit -DartifactId=junit -Dversion=4.8.2 \
                   -Dtransitive=false

Note that all parameters except transitive are required.
Also note that Maven will download the jar to your local repository, and there's no sensible way (that I know of) to copy it to a local directory.

Reference:

Solution 2 - Maven

Or since 3.1, simply as mvn dependency:get -Dartifact=org.springframework:spring-instrument:3.2.3.RELEASE

Solution 3 - Maven

Note: This answer is for downloading the jars directly from maven without any scripts [That is how Google directed me here]

Assuming mvn dependency is like this:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP</artifactId>
    <version>2.4.7</version>
</dependency>

Goto http://search.maven.org and search for g:"com.zaxxer" AND a:"HikariCP" AND v:"2.4.7" (simply searching for HikariCP also works. You may need to select the appropriate GroupId and Version from the results)

In the Search Results -> Download column, you should see jar javadoc.jar sources.jar available for direct download

Solution 4 - Maven

You can download Jar package to specific directory.

mvn dependency:get -Dartifact=org.riversun:random-forest-codegen:1.0.0 -Ddest=./

Solution 5 - Maven

See How to use Maven pom to download jar files only. This worked really nicely for me.

My use case was that I wanted to download some of the dependency jars to deploy to a QA server, and was doing it manually (outside of the Maven build). I'm not sure exactly what your use case is.

Solution 6 - Maven

You can use:

mvn dependency:copy -Dartifact=<group>:<artifact-name>:<version> -DoutputDirectory=/tmp/my_custom_dir

(Replace <values> with the ones of your case)

That's the full documentation of the goal: https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html

Note: the other "dependecy:get" way of doing this has been deprecated.

Solution 7 - Maven

Normally you don't use Maven for "just downloading", but for your build process. So normally, you do the following steps:

  1. Define a new project by defining the archetype of your project and some needed properties.
  2. Define as a dependency the library you want to use.
  3. Run Maven with mvn compile

As a side effect, you will have downloaded the library to your local Maven repository. There are a lot of plugins to do something with dependencies, so have e.g. a look at the Maven Dependency plugin.

Solution 8 - Maven

If you just want to download a JAR once from a maven mirror I suggest you could just do this manually:

For Maven 1:
http://mirrors.ibiblio.org/pub/mirrors/maven/

For Maven 2:
http://mirrors.ibiblio.org/pub/mirrors/maven2/

These are the repositories (a mirror anyway) that maven will get its JARs from - you can easily access them in the webbrowser of your choice and download the JARs etc. Just browse through the hierarchy (it looks like any Java packag hierarchy) until you find the artefact, then pick the right version and you're good.

For example version 3.6.6.Final of hibernate-core from group org.hibernate you'd find here:
>> http://mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/hibernate-core/3.6.6.Final/

Solution 9 - Maven

You can setup a pom.xml to define your dependencies (the jars you want to copy). Then use the dependency:copy-dependencies goal to copy the jars to the desired location.

Solution 10 - Maven

This is what I do (2022 answer), go to https://mvnrepository.com/, search for your .jar and click on here: enter image description here

Solution 11 - Maven

It's possible to download a JAR from a Gitlab Maven private repository. The URL is appearing when running some Maven command so it's a bit hacky but it's working for me.

Like this:

wget --header "PRIVATE-TOKEN: ${GITLAB_PRIVATE_TOKEN}" "https://gitlab.com/api/v4/projects/${GITLAB_PROJECT_ID}/packages/maven/${MAVEN_PACKAGE_NAME}/${MAVEN_VERSION}/${JAR_FILE}"

Where,

  • GITLAB_PRIVATE_TOKEN is a Gitlab Token with right "api" (atm the others are not enough)
  • GITLAB_PROJECT_ID e.g. 1462237
  • MAVEN_PACKAGE_NAME e.g. com/bar/foo
  • MAVEN_VERSION e.g. 0.0.1
  • JAR_FILE e.g. foo-0.0.1.jar

Solution 12 - Maven

Use the below code snip

result = subprocess.check_output('mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get \
                                     -DgroupId=%s \
                                     -DartifactId=%s \
                                     -Dversion=%s \
                                     -Dtransitive=false \
                                     -DremoteRepositories={repos_string} \
                                     -Dpackaging=jar \
                                     -DoutputDirectory=%s' % (group_id,
                                                              artifact_id,
                                                              version_name,
                                                              des_path), shell=True)
    logger.info("success download jar: %s" % each_version)
except Exception as e:
    logger.error("Error in download jar : %s" % str(e))

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNadav BenedekView Question on Stackoverflow
Solution 1 - MavenSean Patrick FloydView Answer on Stackoverflow
Solution 2 - MavenkisnaView Answer on Stackoverflow
Solution 3 - MavenVenkata RajuView Answer on Stackoverflow
Solution 4 - MavenriversunView Answer on Stackoverflow
Solution 5 - MavenSam GoldbergView Answer on Stackoverflow
Solution 6 - MavenFrancescoView Answer on Stackoverflow
Solution 7 - MavenmliebeltView Answer on Stackoverflow
Solution 8 - MavenfgysinView Answer on Stackoverflow
Solution 9 - MavenJoseView Answer on Stackoverflow
Solution 10 - MavenIvan CarcamoView Answer on Stackoverflow
Solution 11 - MavenDamien LEGERView Answer on Stackoverflow
Solution 12 - MavenWuFeng_Ph.DView Answer on Stackoverflow