2012-11-14 2 views
12

私はMavenタスクが失敗したとしても、bashスクリプトからMavenデプロイメントタスクを実行していますが、スクリプトはエラーなく継続して完了します。シェルスクリプトからMavenタスクを実行してエラーコードを取得する

私は-eフラグを試しましたが、それは失敗します。私はまた、次の(擬似コード)

result_code= mvn deploy 
if [$result_code -gt 0];then 
exit 1 

展開が成功した場合、私は識別することができますどのように任意の提案を試してみましたか?

答えて

26

result_code=mvn deployはあなたが試すことができ、例えば、リターン・ステータス

を取得する方法ではありません:また

#!/bin/bash 
mvn deploy 
STATUS=$? 
if [ $STATUS -eq 0 ]; then 
echo "Deployment Successful" 
else 
echo "Deployment Failed" 
fi 
0

ここでのWindows 10を使用して、誰もが私が使用例の場合:

mvn deploy 
if not %ERROR_CODE%==0 goto error 

echo SUCCESS 
goto end 

:error 
echo FAILED 

:end 
0

人のMVNタスクが失敗にもかかわらず、0を返すことがあります。ただ、一つの他の可能な理由:注意してくださいmavenの出力を他のプログラムにパイプすることについて。。たとえば、私はgrcatを使用しています(grcは上にビルドされています)。これは常に終了コード0を返します。

\mvn compile | grcat ~/conf.mvn 

出力の素晴らしい色分けを保持する方法がわかりません。そこにcolor_maven.shがありますが、それは他の問題があります。

関連する問題