都内SEのプログラミング勉強と雑記

2003年より都内でSEをしてます。業務システムをリプレイスし続けてきました。ここでは主にjavaやその周辺技術関連を紹介予定。

Maven installビルド時のログ出力レベルについて

f:id:object1985:20170913103833p:plain
java開発でビルドをMavenで行っています。
そのビルドをinstallコマンドで実行しているのですが
[DEBUG]、[INFO]ログが多く
本当に見たい警告や異常時のエラーに気づきづらい。。。

そこで以下のようなシェルで実行することにしました。
*実行環境はMac terminalです。

#!/bin/sh
########################################################################
#作成者 :都内SE
#作成日 :2017/09/13
#概要  :ビルドするディレクトリに移動してビルドします。
         ビルド完了後、移動前のディレクトリに戻ります。
########################################################################

#pom.xmlを配置しているディレクトリを指定します。
DIRECTORY_TARGET=/Users/tonaise/Documents/workspace/JavaProject
DIRECTORY_CURRENT=`pwd`
RETURN_CODE=0
#mavenコマンドがインストールされているディレクトリを指定します。"which mvn"をターミナルで実行すると表示されるディレクトリです
alias mvn=/usr/local/apache-maven-3.3.9/bin/mvn

echo [`date +"%Y/%m/%d %p %H:%M:%S"`]"[ビルドシェル]ビルドするディレクトリへ移動:" ${DIRECTORY_TARGET}
cd ${DIRECTORY_TARGET}

echo [`date +"%Y/%m/%d %p %H:%M:%S"`]"[ビルドシェル]ビルド実行"
mvn clean install -q
${RETURN_CODE}=$?
echo [`date +"%Y/%m/%d %p %H:%M:%S"`]"[ビルドシェル]ビルド実行 完了 リターンコード:" ${RETURN_CODE}

# シェル実行前の元のディレクトリへ移動(git , mvn コマンド実行時にパスを渡せればこの処理は不要)
echo [`date +"%Y/%m/%d %p %H:%M:%S"`]"[ビルドシェル]シェル実行前の元のディレクトリへ移動:" ${DIRECTORY_CURRENT}
cd ${DIRECTORY_CURRENT}
exit $RETURN_CODE}

mvn clean install -q がビルド(install)コマンドとなります。
それぞれの意味は以下の通りです。

mvn    ・・・Mavenコマンド自体です。
clean  ・・・targetディレクトリを削除します。前回ビルド時の情報が不具合を起こすケースがあるので指定します。
install・・・ビルド、正確には作成したパッケージ(jar や war)をローカルリポジトリ(.m2配下)に配置します。
-q     ・・・実行時のログはエラーのみを表示します。

警告まで消えちゃうから mvn 実行結果を grep した方がいいかも・・・

follow us in feedly