Help us understand the problem. What is going on with this article?

Maven初心者メモ

More than 1 year has passed since last update.

Maven概要

  • Mavenでは、プロジェクト情報の管理や特定タスク処理の登録・実行を行うことができる。
  • 設定は、pom.xmlに定義を記載していくことで行う。
  • 各タスク処理は、プラグインをインストールすることで拡張することが可能である。
  • プラグインはタスク処理を実行するためのコマンドであるゴールを提供する。
  • Mavenにはライフサイクルというビルドの流れを表現する概念がある。
  • コマンドを実行する方法には、ライフサイクル、ゴールを利用する。

ライフサイクル

  • ライフサイクルは、フェーズというステージによって構成されている。
  • ライフサイクルには、ゴールを紐づけることが可能である。
  • ライフサイクルにデフォルトでいくつかのゴールが紐づけられている。
  • 下記がライフサイクルの主な構成、および紐づいているゴールの機能。
順番 フェーズ 紐づく機能
1 validate プロジェクトが正しいかどうかを検証する。
2 compile ソースコードをコンパイルする。
3 test テストクラスを実行する。
4 package ソースコードをパッケージングする(jarなど)。
5 verify パッケージを検証し、基準を満たすかを検証する。
6 install ローカルリポジトリに作成したパッケージを格納する。

※上記とは独立したclean、siteというライフサイクルもある。

処理の実行

mvn ゴールもしくはライフサイクル名(複数指定可能)
  • 処理を実行する際は、上記の形でコマンドを利用する。
  • ゴールを指定すると対応する処理のみが実行される。
  • 一方、ライフサイクルを指定すると対象までのライフサイクルに紐づくすべての機能が実行される。たとえば、installライフサイクルを指定すると、validate~installのライフサイクルに紐づくすべての機能が実行される。

メモ

  • ライフサイクルにゴールを紐づける場合は、executionタグを利用する。
  • 各ゴールにはオプションを指定することができる。一般的には下記手順にて確認することができる。

 1. 下記プラグイン一覧より対象プラグインを選択
 2. 左サイドメニューよりGoals選択
 3. 対象ゴールをメインメニューより選択
 4. 表示されるOptional Parametersが各ゴールで指定できるオプション

  • ゴールに対してオプションを指定したい場合は、configurationタグを利用する。定義場所は以下。
    • 個々のゴールに対して指定したい場合 → executionタグ配下
    • 全てのゴールに対して指定したい場合 → pluginタグ配下

プラグイン一覧

ライフサイクル

リファレンス

Imasug
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした