CLOVER🍀

That was when it all began.

Maven Dependency Pluginのdependency:getで指定のアーティファクトを取得する

これは、なにをしたくて書いたもの?

Maven Dependency Pluginといえば、Mavenプロジェクトの依存関係を解析したり依存ライブラリーを解決・ダウンロードするのに
使います。

ただ、Mavenプロジェクト内でなくてもアーティファクトを取得する方法があるのでメモしておきます。

dependency:getゴール

Maven Dependency Pluginのdependency:getゴールを使うと、指定のアーティファクトをダウンロードできます。

dependency:get – Apache Maven Dependency Plugin

依存関係も合わせてダウンロードされます。また、このゴールはMavenプロジェクト内でなくても使えます。

こちらは内容を紹介するよりも実際に使い方を見た方が早いですね。

環境

今回の環境はこちら。

$ java --version
openjdk 25.0.2 2026-01-20
OpenJDK Runtime Environment (build 25.0.2+10-Ubuntu-124.04)
OpenJDK 64-Bit Server VM (build 25.0.2+10-Ubuntu-124.04, mixed mode, sharing)


$ mvn --version
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Maven home: $HOME/.sdkman/candidates/maven/current
Java version: 25.0.2, vendor: Ubuntu, runtime: /usr/lib/jvm/java-25-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "6.8.0-100-generic", arch: "amd64", family: "unix"

Maven Dependency Pluginのdependency:getゴールを使う

それでは、Maven Dependency Pluginのdependency:getゴールを使ってみましょう。

resteasy-coreで試してみましょう。

こういう使い方になります。

$ mvn dependency:get -DgroupId=org.jboss.resteasy -DartifactId=resteasy-core -Dversion=6.2.15.Final

システムプロパティーの意味はほぼ自明だと思います。省略形だとこうなりますね。

$ mvn dependency:get -Dartifact=org.jboss.resteasy:resteasy-core:6.2.15.Final

推移的依存関係を解決して欲しくない場合は、-Dtransitive=falseを指定します。

$ mvn dependency:get -Dartifact=org.jboss.resteasy:resteasy-core:6.2.15.Final -Dtransitive=false

その他、-Dpackaging-Dclassifier-DremoteRepositoriesが指定可能です。

あまり使う機会はないと思いますが、知っておくと便利なことがあるかも…しれません。