2010-10-08 7 views
10

Ich habe ein Problem mit einem Maven Build in Hudson. Dieses Problem wäre ziemlich einfach zu lösen, wenn ich die Ausgabe von maven mit dem übergebenen Flag -X sehen könnte. Ich finde jedoch keinen Weg, dies zu tun. Wenn ich "-X" im "Ziele und Optionen" -Feld des "Build" -Abschnitts in der Job-Konfiguration spezifiziere, sieht meine Konsolenausgabe genauso aus, als ob ich überhaupt nicht das Flag "-X" passiert hätte. Geht das Debug-Logging woanders hin? Oder gibt es eine andere Möglichkeit, die "-X" Flagge zu übergeben?Die Maven Debug Flag von Hudson übergeben

UPDATE:

Der Grund, warum dies nicht funktioniert, weil der Bau in der „Parsing POMs“ Teil des hudson Prozess versagt, bevor es die wahre Maven Build tatsächlich startet und geht in beliebigen params I im Projekt angeben. Also was ich wirklich brauche, ist eine Möglichkeit, während des "Parsing POMs" Teils eines Maven Builds in Hudson besser zu loggen.

Antwort

7

Das ist, was es im Hilfetext sagt.

Gibt die auszuführenden Ziele an, z. B. als "Neuinstallation" oder "Bereitstellung". Dieses Feld kann auch alle anderen Befehlszeilenoptionen zu Maven akzeptieren, wie "-e" oder "-Dmaven.test.skip = true".

Ich hätte es auch dort hingelegt.

Die Maven Hilfe gibt mir die folgenden zwei Möglichkeiten:

-X,--debug     Produce execution debug output 
-e,--errors     Produce execution error messages 

Sie kann den --debug oder -en swtich

+1

Ich habe das schon mal probiert (und einfach nochmal probiert) bekomme aber keinen zusätzlichen Ausgang. Scheint so, als müsste es funktionieren, aber es ist nicht so. Wenn ich denselben Build direkt von der Befehlszeile mit -X oder --debug ausführe, erhalte ich viele zusätzliche Informationen. Das spezifische Problem, das ich zu lösen versuche, tritt jedoch nur auf, wenn der Build von Hudson ausgeführt wird. – kalak451

+0

Fügen Sie einen zusätzlichen Build-Schritt (Stapel- oder Shell-Skript) ein und führen Sie den Befehl set aus. Vergleichen Sie die Ausgabe mit der Ausgabe eines Set-Befehls, der manuell über die Befehlszeile ausgegeben wird. Dies kann Ihnen helfen zu sehen, ob es einen Unterschied zwischen den Umgebungsvariablen, die Hudson sieht, und Ihren Umgebungsvariablen in der Befehlszeile gibt. Die Pfadvariable hat in einigen Fällen einen großen Einfluss. - Ich hoffe, ich bin mit der Annahme einverstanden, dass Sie den Kommandozeilen-Test mit demselben Benutzerkonto ausführen, unter dem Hudson läuft. –

0

ich genau 1.398 das gleiche Problem mit Hudson habe versuchen können (Maven 2.0.10, jdk 1.6.0_07): Der Build schlägt beim Parsen der Pom-Dateien fehl. Es funktioniert lokal und wenn es manuell aus dem Hudson-Arbeitsbereich gestartet wird.

Für dieses Build muss eine Umgebungsvariable festgelegt werden (für den Pfad eines Moduls), aber die Umgebungsvariable scheint nicht von Hudson zu Maven zu propagieren. Also, wie Sie, habe ich auch versucht, mehr Details von Maven mit der Option -X zu bekommen, aber es scheint auch nicht verbreitet zu werden.

+0

Dieser Build funktioniert gut mit Jenkins ... – jplandrain

5

In Jenkins, und ich nehme an, dies gilt auch für Hudson, können Befehlszeilenargumente Maven in der Einstellung "Ziele" übergeben werden. Ich konnte den Parameter -X übergeben, indem ich ihn zum Anfang der "Ziele" hinzufüge.

Jenkins fügt diese Einstellung scheinbar blind an das Ende der mvn-Befehlszeile an.

Verwandte Themen