Contents
Mavenについて
用語
phase
フェーズとは、mavenで行う一連の処理内容のまとまりである。Mavenを実行する際はphaseを指定して行う。
例えば、compileというフェーズを指定すると、プロジェクトディレクトリのビルドが行われる。
参考:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
goal
ゴールとはフェーズを構成する1処理内容である。ゴールの実態は1つのJavaファイルである。ゴールを実行すると、そのJavaファイルが実行されることになる。
参考:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
archetype
フェーズやゴールを定義したテンプレートである。アーキタイプを自作することで、標準と異なるフェーズやゴールを定義できる。
Maven実行時にアーキタイプを指定する際はフェーズの前にアーキタイプとコロンを付ける。
例:mvn myarchetype:compile
参考:http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
インストール方法
https://maven.apache.org/download.cgi
-
- ダウンロードする
curl -s -O http://ftp.jaist.ac.jp/pub/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip
- 展開する
unzip apache-maven-*-bin.zip
- zipファイルを削除する
rm -f apache-maven-*-bin.zip
- 移動する
mv apache-maven-3.5.4 /usr/local/`ls -d apache-maven-* | sed "s/apache-//"`
- リンクを設定する
ln -s /usr/local/maven-* /usr/local/maven
- 環境変数を設定する
export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH
更に再起動・再ログインしても自動で設定されるようにbashrcに設定を追加する
echo "" >> /etc/bashrc echo "# MAVEN ENVIRONMENT VARIABLE" >> /etc/bashrc。 echo export MAVEN_HOME=$MAVEN_HOME >> /etc/bashrc echo export PATH=\$MAVEN_HOME/bin:\$PATH >> /etc/bashrc
- 実行できることを確認する
mvn -h
- ダウンロードする
設定
Mavenの設定は次のパスの設定ファイルにて行う
$MAVEN_HOME/conf/settings.xml
localRepository
mvnコマンドを実行した際に自動でインターネットからダウンロードしたjarファイルなどを配置するパス。
デフォルトでは各ユーザのホームディレクトリ直下に”.m2″というディレクトリが作成され、そこに配置される。
各ユーザで共通化したい場合や、サービス用のユーザの場合はパスを指定するとよい。設定変更した場合は、そのパスにディレクトリを作成しておくこと。
- 書式
<localRepository><パス></localRepository>
- 例
<localRepository>/usr/local/mvn-repo/</localRepository>
mvnコマンド
Mavenの実行はmvnコマンドにて行う。
書式
mvn [<アーキタイプ>:]<フェーズ> [...]
フェーズ
clean
targetディレクトリの削除
test-compile
テスト用のコードのビルド。pom.xmlにてtestResources設定で指定したパスのコードがテスト用コードである。ビルドしたものはtarget/test-classesに出力される。