概要
mvn dependency:copy-dependencies は、Mavenプロジェクトの依存JARを指定したディレクトリにコピーするコマンド。
アプリケーションの動作に必要なJARを個別に取得したい場合に使う。
基本的な使い方
以下のコマンドを実行すると、依存JARが target/dependency にコピーされる。
$ mvn dependency:copy-dependencies
オプション
コピー先ディレクトリを変更する
-DoutputDirectory でコピー先を指定する。
$ mvn dependency:copy-dependencies -DoutputDirectory=lib
スコープを絞る
-DincludeScope でコピー対象のスコープを絞る。runtime を指定するとテスト用JARを除いた実行時に必要なJARのみを取得できる。
$ mvn dependency:copy-dependencies -DincludeScope=runtime
指定できるスコープは compile、runtime、test、provided、system など。
バージョン番号を除いたファイル名にする
-DstripVersion=true を指定すると、foo-1.0.0.jar が foo.jar のようにバージョン番号なしのファイル名でコピーされる。
$ mvn dependency:copy-dependencies -DstripVersion=true
実用例
実行時に必要なJARのみを lib ディレクトリにコピーする場合は以下を実行する。
$ mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=runtime
Dockerイメージを作成する際に依存JARとアプリケーションJARを別レイヤーに分けたい場合などに有用。
\第一線のプログラマーの行動原理を学べる!/
