mavenの依存関係を可視化する方法

Mavenプロジェクトにおいて、特定の依存関係がどのような経路でインストールされたかを確認するには、Mavenの「依存関係ツリー」を利用する方法が有効です。

依存関係ツリーを表示するための手順は以下の通りです:

Maven プラグインを使用する方法

  1. コマンドラインで依存関係ツリーを表示 Mavenのmvn dependency:treeコマンドを使用します。このコマンドは、プロジェクトのすべての依存関係とその依存関係をツリー形式で表示します。
   mvn dependency:tree
  1. 特定の依存関係をフィルタリングして表示 依存関係ツリーが大きくなりがちな場合、特定の依存関係(今回の場合はlog4j)に関連する部分だけを表示することができます。以下のようにしてlog4jに関する依存関係をフィルタリングします。
   mvn dependency:tree -Dincludes=org.apache.logging.log4j:log4j-core

例:

   mvn dependency:tree -Dincludes=org.apache.logging.log4j:log4j-api
  1. 特定の依存関係の詳細を表示 より詳細な情報を表示するためにはmvn dependency:tree -Dverboseオプションを使用します。
   mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-core

例えば、以下のような依存関係のツリーが表示されるかもしれません:

[INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ your-project ---
[INFO] com.example:your-project:jar:1.0-SNAPSHOT
[INFO] +- com.example.some-dependency:jar:1.0.0:compile
[INFO] |  \- org.apache.logging.log4j:log4j-core:jar:2.14.1:compile
[INFO] \- org.apache.logging.log4j:log4j-api:jar:2.14.1:compile

これから、log4j-corelog4j-api が直接または他の依存関係(この場合、some-dependency)を通じてプロジェクトに含まれていることがわかります。

IDEを利用する方法

もしIDEを使用している場合、例えばIntelliJ IDEAやEclipseなどでも依存関係ツリーを表示する機能が用意されています。

  • IntelliJ IDEA
  1. pom.xml ファイルを開きます。
  2. 右側の「Maven」ツールウィンドウを開きます(通常View > Tool Windows > Maven)。
  3. Dependencies タブを選択します。
  4. ログ4jのエントリを探すと、それがどの依存関係の一部として含まれているかの詳細が表示されます。
  • Eclipse
  1. プロジェクトのpom.xmlファイルを右クリックします。
  2. Maven > Show Dependencies を選択します。
  3. 依存関係ツリーが表示されるので、log4jに関するエントリを探します。

これによって、どのライブラリ経由でlog4jがプロジェクトに含まれているのかを特定することができます。そして、必要に応じて<exclusions> やバージョンのアップデートなどの対策を行います。

コメント

タイトルとURLをコピーしました