Maven2の小技 バッチファイルでmvnを実行するときの注意点

バッチファイルの中で、mvnを実行すると、その後の処理が実行されずに終了してしまいます。
Antも同じらしい。

例えば、↓のような処理です。

  • バッチファイル
@echo off
echo before

mvn

pause
  • 実行結果
before
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------
[INFO] You must specify at least one goal. Try 'install'
[INFO] ------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Fri Jan 18 23:10:25 JST 2008
[INFO] Final Memory: 1M/2M
[INFO] ------------------------------------------------------


mvnを、callコマンドを利用して実行すると、処理を継続できます。

  • バッチファイル(改良後)
@echo off
echo before

call mvn

pause
  • 実行結果(改良後)
before
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] You must specify at least one goal. Try 'install'
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Fri Jan 18 23:39:42 JST 2008
[INFO] Final Memory: 1M/2M
[INFO] ------------------------------------------------------------------------
続行するには何かキーを押してください . . .