2012-08-29 12 views
5

Quando eseguiamo l'installazione di mvn clean da uno script batch (* .cmd),% ERRORLEVEL% è sempre 0 indipendentemente dal completamento o meno della build. Come puoi convincere Maven a restituire un codice diverso da zero per i fallimenti?Valore restituito Maven (MVN) in caso di errore?

mvn clean install 
echo error:%ERRORLEVEL% 

Stiamo usando Maven 2.


Aggiornamento:

Nota che se facciamo "bla mvn" poi ERRORLEVEL = 1 dopo il fallimento a causa del cattivo di destinazione.

Ma se eseguiamo "mvn clean install" dove la compilazione fallisce a causa di un errore di complicazione, otteniamo ancora ERRORLEVEL = 0.


Aggiornamento 2:

Ok, questo è perché ci sono in esecuzione Maven come:

mvn installazione pulita | tee% LOGFILE%

Suppongo che sia il tee che sta impostando ERRORLEVEL.

+1

mvn è un file batch, hai provato a usare call mvn clean install e l'output ERRORLEVEL? – khmarbaise

+1

Qual è la versione esatta di Maven 2 che stai utilizzando? C'era un bug in Maven 2 che non restituiva il codice di errore corretto: http://jira.codehaus.org/browse/MNG-3651. Il bug è stato corretto in Maven 2.1. Se si utilizza una versione precedente, è sufficiente applicare manualmente la correzione al file bat locale. – DB5

+0

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

risposta

3

Ok, questo è perché ci sono in esecuzione Maven come:

mvn install clean | tee% LOGFILE%

Suppongo che sia il tee che sta impostando ERRORLEVEL.