2012-08-29 10 views
5

Po uruchomieniu instalacji mvn clean install ze skryptu wsadowego (* .cmd),% ERRORLEVEL% ma zawsze wartość 0, niezależnie od tego, czy kompilacja zakończy się sukcesem, czy się nie powiedzie. Jak zmusić Mavena do zwrotu niezerowego kodu za awarie?Maven (MVN) zwraca wartość po awarii?

mvn clean install 
echo error:%ERRORLEVEL% 

Używamy Maven 2.


Aktualizacja:

Zauważ, że jeśli robimy "mvn bla", a następnie ERRORLEVEL = 1 po awarii z powodu złej cel.

Ale jeśli wykonamy "mvn clean install", gdzie kompilacja nie powiedzie się z powodu błędu komplikacji, otrzymamy ERRORLEVEL = 0.


Aktualizacja 2:

Ok, to dlatego, że prowadzimy Maven jak:

mvn czystej instalacji | tee% LOGFILE%

Domyślam się, że to tee ustawia ERRORLEVEL.

+1

mvn to plik wsadowy, do którego próbujesz użyć wywołania mvn clean install, a wyjście ERRORLEVEL? – khmarbaise

+1

Jaka jest dokładna wersja Maven 2, której używasz? W maven 2 pojawił się błąd, który nie zwrócił poprawnego kodu błędu: http://jira.codehaus.org/browse/MNG-3651. Błąd został naprawiony w maven 2.1. Jeśli używasz wcześniejszej wersji, możesz po prostu zastosować poprawkę ręcznie do lokalnego pliku bat. – DB5

+0

Używamy Apache Maven 2.2.1 (r801777; 2009-08-06 15: 16: 01-0400) –

Odpowiedz

3

Ok, to dlatego, że prowadzimy Maven jak:

mvn czystej instalacji | tee% LOGFILE%

Domyślam się, że to tee ustawia ERRORLEVEL.

Powiązane problemy