へっぽこITエンジニア@名古屋のブログ

Follow me on GitHub

AntからMavenに変えて感じたこと

今更なのですが、AntからMavenに変えて良かったこと、悪かったことを書いていきます。
気づいたことがあれば、追加していこうかと(‘ω’)

Mavenに変えて良かったこと

まとめると以下のことを感じています。

  1. jarファイルの追加が簡単。
  2. 依存関係のあるjarファイルを集めなくていい。
  3. ブランチの切り替えがしやすい。
  4. Docker Hubに公式がある。

1. jarファイルの追加が簡単。

他のサイトとかにもよく書いてますが、
pom.xmlに必要なjarファイルを記載すると勝手に落としてくれます。
jarファイルをダウンロードしてこなくていいので
簡単ですね。

そして、AntだとEclipseなどでJarのバージョンアップなどでブランチを切り替えたりすると、たまにjarファイルをロックして切り替えに失敗したりします。
Mavenだとないのでこういうのものいいですね。

2. 依存関係のあるjarファイルを集めなくていい。

「1.」とかぶっていますが、 やはり依存関係を勝手に解決してくれるのは最高ですね。

Antの時は、依存関係を調べてjarファイルをダウンロード
もしくはビルドして作る必要があったので本当に楽。

3. ブランチの切り替えがしやすい。

これは他ではあまり書いてないかも。
Eclipse loveなのですが、 jarファイルもAntだとEclipseの中に取り込んでいます。
そのためブランチを切り替えるときにjarのバージョンを変えてたりすると
なぜかjarファイルをEclipseがつかんでしまって消せなかったりしました。
解決には1回Eclipseを落として、ファイルシステムから
削除する必要があり、一度発生するとかなりめんどくさかったです( ;∀;)

4. Docker Hubに公式がある。

Dockerでビルドして、イメージを作ろうとしたのですが
Antだとどうも公式がなさそう。
自分で作るか、誰か作ってくれたのを使えばよいのですが
やはり公式があると安心しますね(#^^#)

Mavenに変えて悪かったこと

こちらも、まとめると以下のことを感じています。
メリットに比べると大したことがない気がする。

  1. (自動)ビルドが遅い?
  2. pom.xmlや設定が難しい。
  3. フォルダ構成が変わったので最初とっつきにくかった。
  4. 独自jarの追加が少し面倒。

1. (自動)ビルドが遅い?

Eclipseでも起動が少し遅いような。気のせいかな?
サーバへの自動ビルドやデプロイだと、
Antだとリポジトリに全部梱包されているので
jarファイルを集めなくてよいですが、
Mavenだと集めるとこから始まるので待ち時間が長くなりますね。。
キャッシュとか使えば解決できるのかな?

2. pom.xmlや設定が難しい。

EclipseのGUIにより設定しやすくはなっていますが、
やはりXMLなので少し難しいですね。
ネットにいっぱい情報はあるので、調べれば何とかなります。
ですが、XMLなので少し見づらいですね。
やっぱりGroovyでかけるGradleのほうがいいのかな?

3. フォルダ構成が変わったので最初とっつきにくかった。

なれればなんてことはないのですが、
Mavenではフォルダ構成を指定通りに書くと
勝手に認識してくれるというメリットがあります。
しかし、私のようにAntを使って長年独自フォルダで
やってきた古い人にとっては
最初とっつきにくかったですw

4. 独自jarの追加が少し面倒。

Antのときは独自jarとか公開されているjarとか
関係なくlibフォルダに突っ込んでいたので意識する必要がありませんでした。
しかし、Mavneでは独自jarは<scope>system</scope>で ローカルファイルとして読み込みます。
少しだけ書くことが多くなるのかな?

まとめ

使って感じたのはメリットのほうがデメリットより
やはり大きい気がします。

Docker HubにもAntの公式はなさそうですし Antは卒業しないとですねww

でも今はGradleの方が主流なのかな? 確かにXMLより分かりやすい気がする。 Gradleにしたほうがいいですかねw

作成日:2021-05-30  更新日:2022-01-18