こんにちは!
スタッフ19号です!
今回は、Mavenについて調べてみたので、それについて書いていきます。
Mavenとは
MavenはProject Object Model (POM)という考え方に基づき、プロジェクトのビルド、テスト、ドキュメンテーション、成果物の配備など、プロジェクトのライフサイクル全体を管理するものです。プロジェクトに関する色々な情報を
POMに集約し、POMの情報に基づきプロジェクト全体を管理します。
つまり、プログラムのコンパイル、テスト実行、パッケージなどのソフトウェア開発における一連の作業を自動化するためのツールです!
似たようなものに、AntやGradleなどもあります。全て使い方とかが違うだけで、本質的には同じです。
Mavenの各作業
コンパイル
→コマンド「mvn compile」
特定のプログラミング言語を用いて記述されたコンピュータープログラムを他の言語(普通はコンピューターが実行できるバイナリ言語)を用いて記述された同じプログラムに形を変える。
プロジェクトをコンパイルする
テスト
→コマンド「mvn test」
ユニットテストを実行
パッケージング
→コマンド「mvn package」
成功すると target ディレクトリに sample-1.0-SNAPSHOT.jar が作成される。
作成される JAR ファイルの名前は、pom.xml に記述されている artifactId と version から決定される。
インストール
→コマンド「mvn install」
作成した JAR ファイルをローカルリポジトリにインストールする。
作成した JAR ファイルはローカルリポジトリにインストールすることで、ローカルにある他のプロジェクトから参照することができるようになる。
依存関係をインストール。
コンパイル及び、パッケージ化する。
公開
→コマンド「mvn deploy」
作成した JAR ファイルをリモートリポジトリに配備する。
リモートリポジトリに配備するには、リモートリポジトリの情報をpom.xmlに記述する必要がある。
リモートリポジトリの情報は、project/distributionManagementに入れ子として repository要素を追加します。
repository の子要素には id (リポジトリの識別子), name (リポジトリの名前), url (リポジトリの場所を示す URL) などが指定可能。
削除
→コマンド「mvn clean」
プロジェクトをクリーンし、ビルド結果を削除
ビルドを失敗した場合や、うまく動かない場合に行う。
今まで細かく考えることなく、手順にしたがって作業を行っていた部分があるので、しっかりとそれぞれがどういう意味で、どういう役割なのかをこれからも意識して行っていきたいなと思いました。
以上!スタッフ19号でした!
