2012-08-29 13 views
5

Wenn wir mvn clean install von einem Batch-Skript (* .cmd) ausführen, ist% ERRORLEVEL% immer 0, unabhängig davon, ob der Build erfolgreich abgeschlossen wurde oder fehlschlägt. Wie können Sie Maven dazu bringen, einen Code ungleich null für Fehler zurückzugeben?Maven (MVN) Rückgabewert bei Ausfall?

mvn clean install 
echo error:%ERRORLEVEL% 

Wir verwenden Maven 2.


Update:

Beachten Sie, dass wenn wir das tun "mvn blah" dann Error-= 1 nach dem Ausfall wegen des schlechten Ziel.

Aber wenn wir "mvn clean install" machen, wo der Build aufgrund eines Komplikationsfehlers fehlschlägt, erhalten wir immer ERRORLEVEL = 0.


Update 2:

Ok, das ist, weil wir Maven laufen wie:

mvn saubere Installation | tee% LOGFILE%

Ich denke, es ist T-Shirt, das den ERRORLEVEL setzt.

+1

mvn ist eine Batch-Datei haben Sie versucht, Anruf mvn clean installieren und die Ausgabe der ERRORLEVEL verwenden? – khmarbaise

+1

Was ist die genaue Version von Maven 2, die Sie verwenden? Es gab einen Fehler in Maven 2, dass es den korrekten Fehlercode nicht zurückgab: http://jira.codehaus.org/browse/MNG-3651. Der Fehler wurde in maven 2.1 behoben. Wenn Sie eine frühere Version verwenden, können Sie den Fix einfach manuell auf Ihre lokale Bat-Datei anwenden. – DB5

+0

Wir verwenden Apache Maven 2.2.1 (r801777; 2009-08-06 15: 16: 01-0400) –

Antwort

3

Ok, das ist, weil wir Maven laufen wie:

mvn saubere Installation | tee% LOGFILE%

Ich denke, es ist T-Shirt, das den ERRORLEVEL setzt.