0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mavenの依存関係をGUIで確認・更新できる Maven Plugin を作った

0
Last updated at Posted at 2026-05-20

はじめに

エンジニアだったりプロジェクトマネージャーだったりがJavaプロジェクトに配属されて大変なことの一つにクソデカソースコードを読むことがあると思います。
特に依存が蜘蛛の巣のように張り巡らされているpomファイルを見たときには目薬が必須ですね。親POM行ったり来たりなんで競合が起きているのかTreeコマンド打ったり...

もちろん最近ではIDEでいろいろサポートもありますが、いかんせん使いづらいことが多いので自分で使いやすいツールを作ろうと思いました。

できること

  • dependency 一覧の確認
  • Maven Central から dependency を検索して追加
  • 利用可能バージョンの確認
  • 更新前 diff の確認
  • dependency tree の表示
  • 同バージョンdependencyの利用(Duplicates) / 異バージョンdependencyの利用(Conflicts) の確認
  • 親POMで管理されている依存の確認
  • 親管理 dependency の誤更新防止

使い方

プラグインは Maven Central に公開しています。
https://mvnrepository.com/artifact/io.github.ikeponias/build-manager-maven-plugin/0.2.1

管理したい Maven プロジェクトの pom.xml に下記を追加します。
記事執筆時の最新バージョンは v0.2.1 です。

<plugin>
    <groupId>io.github.ikeponias</groupId>
    <artifactId>build-manager-maven-plugin</artifactId>
    <version>${version}</version>
</plugin>

直下で次のコマンドを実行します。

mvn build-manager:run -Dopen

ポート指定する場合は↓

mvn build-manager:run -Dport=8081 -Dopen

初期画面説明

image.png

左ペインには Maven module ごとの dependency 一覧が表示されます。
Search dependencies から絞り込めます。
親プロジェクト、子プロジェクトはツリー構造になっていて、module 名を押すと折りたためます。
後述する Conflict 対象の dependency は背景が黄色くなります。
Delete を押すとその依存は削除されます。

右には以下が表示されます。

  • Duplicates
    • 同アーティファクトで同バージョンで重複する dependency
  • Conflicts
    • 同アーティファクトで異バージョンで重複する dependency

Add Dependency

Maven Central から dependency を検索できます。
検索結果を選び、version と scope を指定して Apply Add を押すと、pom.xml に dependency が追加されます。
ただしこの時追加できるのはプラグインがインストールされたプロジェクトになります。
今後追加するプロジェクトを指定できるようにする予定...

dependency クリック後画面説明

image.png

  • 選択した dependency の詳細
  • Versions
    • 更新したいバージョンを指定できます。バージョンを指定して Preview を押すと Update Diff に更新差分が表示されます(まだ変更されません)
  • Tree
    • dependency の依存を tree 表示できます。Conflict 対象の場合は黄色文字で表示されます
  • Update Diff
    • 更新差分を表示します。Applyを押すと更新されます

親 POM で管理されている dependency

image.png

子 module の dependency が親 POM の dependencyManagement で管理されている場合、子側では更新・削除できないようにしています。

まとめ

親 POM と子 module の dependency 管理を確認したいときに結構便利かと思います。
自分でも使いながら今後改善をかけていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?