読者です 読者をやめる 読者になる 読者になる

kazurof weblog

技術ネタのメモを並べます

自分向けメモ - よく使うmavenコマンドについて

Java

mvn package

そのプロジェクトでの成果物を生成する。jarとかwarとか。これでwarを作ってtomcatなどにデプロイするという流れ。

mvn versions:display-dependency-updates

利用可能な最新ライブラリの調査。現在pom.xmlに登録されている依存関係を全部調べてより新しい版が公開されていたらそれを教えてくれる。僕はやってないけど、cronか何かに仕込んでおいて、Struts2の新しいバージョンを検知するのにも良いかもしれない。

mvn dependency:copy-dependencies

依存するjarファイルを/target/dependencyに出力。例えば「現在のプロジェクトは、mavenを使っていない。けれどmavenの依存関係管理の機能は使いたい。」ということもあろうかと思います。

そういう場合とりあえず、pom.xmlだけ作ってしまってこのコマンドを叩くと必要なjarファイルをすべて出力してくれます。出力されたjarファイルを手動で /WEB-INF/lib などにコピーして使うのです。今は無理だがいつかプロジェクトをmavenizeしたい時に重宝します。

コマンド例

providedスコープのjar(servlet-api.jarなど)を除外して出力する。

mvn dependency:copy-dependencies -DexcludeScope=provided

mvn dependency:tree

依存関係ツリーをコンソール上でグラフィカルに表示する。 なんとなく依存関係ツリーを把握するのに便利です。でもこの用途なら Eclipseで見たほうが良いかもしれません。