エンジニアステップ

初心者エンジニア(1年目~3年目くらい)のための技術ブログ

「Apache Maven 2.0入門 Java・オープンソース・ビルドツール」の感想

「Apache Maven 2.0入門 Java・オープンソース・ビルドツール」という本を読みました。

Maven3が出ている2018年現在、正直言って古い本。

ただし、ビルドツールについての基本的な考え方を分かりやすく、体系的に学べるので、初心者には意外と悪くなかった(私の場合は)

ただ、xmlはどうなんだ、というのが最近の考えですねー。

Mavenとはなにか

Mavenについて

  • Mavenの読み方は「メイヴェン、メイヴン」です
  • Apache Antから進化したビルドツール / ビルドスクリプトを再利用するためのフレームワーク
  • Apache Software Foundationで開発されているオープンソース
  • Antとの違いは、プロジェクト単位でビルド管理が可能 (POM : Project Object Modelを仕様)なところ
  • 再帰的に依存関係を解決してくれるのが便利

 

ビルドが誰でも同じように簡単に出来る、というのがポイントです。

 

自動化の価値

自動化出来ると何が良いのか

  • 作業時間短縮
  • 作業手順を覚える必要がない
  • 作業手順を共有できる

集団での開発をやるときには作業手順を共有できることは大きな意味があります。

※1人で開発する時も、昔の自分は他人なので、役に立ちますけどね

 

加算的アプローチと差分的アプローチ

Antは加算的なアプローチでビルドプロセスの自動化を実現する。「必要なものは必要になった時点で追加する」というコンセプト。

 

Mavenは差分的なアプローチ。「標準的なビルド手順を定め、差分だけを記述すれば良い」というコンセプト。

基本的に決まりごとに従って、pomというファイルに例外を記載する方式。

 

Mavenの用語

Mavenの用語まとめ

  • アーティファクト:ソースコードから粉ピル~アーカイブといった工程を経て作成されるプロジェクトの成果物ファイル
  • POM:Projet Object Model。プロジェクトのメタデータの構造。pom.xmlに記載する
  • リポジトリ:依存関係を格納する格納庫

 

などなど。

昔読んだ本の感想をテキトーに書いてみました。