2015-05-21 24 views
6

Ho installato Tomcat 7 su Windows 8, su cui viene distribuito Jenkins. Ho configurato JDK, Ant e Maven nelle impostazioni di Jenkin. Nella sezione Maven, ho dato un nome come LocalMaven e MAVEN_HOME come C:\Techie\apache-maven. Quando ho fatto un test di build, mi ha dato il seguente errore che il mvn.bat non è riconosciuto. Poi ho controllato inserendo il comando mvn in CMD. Ha fornito alcune dichiarazioni di esperti, il che significa che Maven è disponibile nelle variabili PATH.Maven non riconosciuto in Jenkins

Dopo aver cercato su google, ho modificato MAVEN_HOME come **%M2_HOME%\bin** in configurazione Jenkin-Maven. Ancora non ha funzionato.

LOG:

  • [workspace] $ cmd.exe /C '"mvn.bat -f HighScoresServiceClient compile && exit %%ERRORLEVEL%%"'

  • 'mvn.bat' non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch

  • passaggio di generazione 'Invoke top-level Maven targets' contrassegnato come errore

  • Finito: FAILURE

Modificato: Aggiunta l'analisi

Il comando eseguito da Jenkins è [workspace] $ cmd.exe /C '"mvn.bat -f String-replacer compile && exit %%ERRORLEVEL%%"' dove mvn.bat non è un comando valido e così Jenkins errori nel modo seguente che ho 'mvn.bat' is not recognized as an internal or external command, pensa che Jenkins dovrebbe chiamare il comando come mvn e non mvn.bat. Alcuni esperti possono correggermi se sbaglio? Per favore fatemi sapere come modificare questo comportamento se ho ragione.

Modificato: allegato la configurazione Maven-JDK-Git Configuration in Jenkins

Maven is available in the PATH variables

risposta

4

Suppongo che il server Tomcat è in esecuzione come servizio di Windows.

Hai creato le tue MAVEN_HOME e M2_HOME come variabili di ambiente di sistema? (Idem per il PATH)

Un'altra soluzione è quella di configurare le variabili del apache-tomcat/bin/file di setenv.bat:

set MAVEN_HOME=C:\Techie\apache-maven 
set PATH=%MAVEN_HOME%\bin;%PATH% 
+0

ho cercato di creare le variabili di sistema. Non ha funzionato. Ho persino aggiunto il contenuto nel file setenv.bat. ( – Anand

+0

Quando hai configurato Maven nelle tue impostazioni Jenkins, hai dichiarato l'installazione nella sezione Maven? Hai provato l'opzione "installa automaticamente"? –

+0

Non ha funzionato dopo averlo modificato in "Installa automaticamente" – Anand

5

Scommetto che hai installato Maven 3.3 che ha mvn.bat rinominato mvn.cmd

C'è una relazione su questo tema nel Jenkins JIRA: https://issues.jenkins-ci.org/browse/JENKINS-27525

+1

Questo problema è stato risolto e disponibile aggiornando Jenkins. Per farlo funzionare ho aggiornato Jenkins stesso e il plugin Maven Integration. Per farlo funzionare dovevo anche specificare esplicitamente la nuova versione di Maven nella configurazione del progetto, anche se era stata configurata per usare la versione Maven "predefinita" che ho aggiornato per puntare alla nuova versione 3.3. –

Problemi correlati