2015-05-21 9 views
6

Ich habe Tomcat 7 unter Windows 8 installiert, auf dem Jenkins im Einsatz ist. Ich habe das JDK, Ant und Maven in den Jenkin-Einstellungen konfiguriert. In der Maven-Sektion gab ich einen Namen als LocalMaven und den MAVEN_HOME als C:\Techie\apache-maven. Als ich einen Testaufbau machte, gab es mir den folgenden Fehler, dass die mvn.bat nicht erkannt wird. Dann habe ich überprüft, indem ich den Befehl mvn in CMD eingegeben habe. Es gab einige Maven-Aussagen, was bedeutet, dass Maven in den PATH Variablen verfügbar ist.Maven nicht erkannt in Jenkins

Nach dem googeln, änderte ich die MAVEN_HOME als **%M2_HOME%\bin** in Jenkin-Maven-Konfiguration. Trotzdem hat es nicht funktioniert.

LOG:

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

  • 'mvn.bat' nicht als interner oder externer Befehl, bedienbare Programm oder Batch-Datei

  • erkannt wird
  • Build-Schritt 'Invoke top-level Maven targets' markierter Build als Fehler

  • Abschluss: FAILURE

Editiert:

Der Befehl von Jenkins die Analyse hinzugefügt ausgeführt ist [workspace] $ cmd.exe /C '"mvn.bat -f String-replacer compile && exit %%ERRORLEVEL%%"' wo mvn.bat kein gültiger Befehl ist und so aus Jenkins Fehler wie 'mvn.bat' is not recognized as an internal or external command, I folgt Denken Sie, Jenkins sollte den Befehl als mvn und nicht als mvn.bat bezeichnen. Können mich einige Experten korrigieren, wenn ich falsch liege? Bitte lassen Sie mich wissen, wie ich dieses Verhalten ändern kann, wenn ich recht habe.

Edited: die Konfiguration Befestigt Maven-JDK-Git Configuration in Jenkins

Maven is available in the PATH variables

Antwort

4

Ich nehme Ihren Tomcat-Server als Windows-Dienst ausgeführt wird.

Haben Sie Ihr MAVEN_HOME und M2_HOME als Systemumgebungsvariablen erstellt? (Idem für PATH)

Eine andere Lösung ist die Variablen in der Apache-Tomcat/bin/setenv.bat Datei zu konfigurieren:

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

ich habe versucht, die Systemvariablen zu schaffen. Es hat nicht funktioniert. Ich habe den Inhalt sogar in die Datei setenv.bat eingefügt. Es hat nicht geholfen :( – Anand

+0

Wenn Sie Maven in Ihren Jenkins-Einstellungen konfiguriert haben, haben Sie die Installation im Maven-Abschnitt deklariert? Haben Sie die Option "automatisch installieren" versucht? –

+0

Es hat nicht funktioniert, nachdem Sie es in "Installiere automatisch" geändert haben – Anand

5

Ich wette, Sie Maven installiert haben 3.3, die mvn.bat hat

Es gibt einen Bericht zu diesem Thema in Jenkins JIRA mvn.cmd umbenannt: https://issues.jenkins-ci.org/browse/JENKINS-27525

+1

Dieses Problem ist gelöst und verfügbar durch die Aktualisierung von Jenkins. Um es zum Laufen zu bringen, habe ich Jenkins selbst und das Maven Integration Plugin aktualisiert. Um es zum Laufen zu bringen, musste ich auch explizit die neue Maven-Version in der Projektkonfiguration angeben, obwohl sie so konfiguriert war, dass sie die "Standard" -Maven-Version verwendet, die ich aktualisiert habe, um auf die neue Version 3.3 zu zeigen. –

Verwandte Themen