Hudson kann mein Maven 2-Projekt nicht erstellen, weil es heißt, dass Artefakte im Repository fehlen?(das sind sie nicht)
-
09-06-2019 - |
Frage
Ich verwende Hudson und Maven 2 für meinen automatisierten Build/CI.Ich kann problemlos mit Maven über die Befehlszeile erstellen, aber wenn ich dasselbe Ziel mit Hudson ausführe, schlägt der Build fehl und beschwert sich über fehlende Artefakte.Ich verwende Hudson als Windows XP-Dienst.
Lösung
Offensichtliche Frage, aber haben Sie Hudson so eingerichtet, dass es auf dasselbe Maven-Repository verweist wie Ihr Befehlszeilen-Build?Sie können dies über die Admin-GUI von Hudson überprüfen – schauen Sie im Abschnitt „Maven“ der Seite „Hudson verwalten“ nach.Dies sollte eine haben MAVEN_HOME
Umgebungsvariable aufgeführt.Schauen Sie in der Datei „settings.xml“ nach:
MAVEN_HOME\conf\settings.xml
Der localRepository
Das Konfigurationselement ist der Speicherort des Maven-Repositorys, das der Hudson-Build verwendet.
Andere Tipps
Stellen Sie sicher, dass Sie Hudson als denselben Benutzer ausführen, den Sie zum Ausführen von Maven über die Befehlszeile verwenden.Maven erstellt für jeden Benutzer ein separates Repository.Wenn Sie Hudson als Windows-Dienst ausführen, ist dies nicht derselbe Benutzer, unter dem Sie sich angemeldet haben und mit dem Sie „mvn“-Befehle ausführen.Dies bedeutet, dass die Artefakte in den Repositorys unterschiedlich sein können.
Um das Problem zu beheben, starten Sie Hudson entweder manuell als der Benutzer, der funktioniert, oder aktualisieren Sie das Repository für den Benutzer, unter dem Hudson ausgeführt wird.