これは、なにをしたくて書いたもの?
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が指定可能です。
あまり使う機会はないと思いますが、知っておくと便利なことがあるかも…しれません。