Ich verwende Hudson und Maven 2 für mein automatisiertes Build/CI. Ich kann mit Maven von der Kommandozeile aus bauen, aber wenn ich das gleiche Ziel mit Hudson ausführe, schlägt der Build fehl und beschwert sich über fehlende Artefakte. Ich führe Hudson als Windows XP-Dienst aus.
Antworten
Zu viele Anzeigen?Stellen Sie sicher, dass Sie Hudson unter demselben Benutzer ausführen, unter dem Sie Maven von der Kommandozeile aus starten. Maven erstellt für jeden Benutzer ein eigenes Repository. Wenn Sie Hudson als Windows-Dienst ausführen, wird dies nicht derselbe Benutzer sein, mit dem Sie sich angemeldet haben und mit dem Sie "mvn"-Befehle ausführen werden. Dies bedeutet, dass die Artefakte in den Repositories unterschiedlich sein können.
Um dies zu beheben, starten Sie Hudson entweder manuell als den Benutzer, der funktioniert, oder aktualisieren Sie das Repository für den Benutzer, unter dem Hudson läuft.
Offensichtliche Frage, aber haben Sie Hudson so eingestellt, dass es auf das gleiche Maven-Repository verweist wie Ihr Kommandozeilen-Build? Sie können dies in der Hudson-Admin-Gui überprüfen - schauen Sie in der Maven-Sektion der Hudson-Verwaltungsseite nach. Dort sollte ein MAVEN_HOME
Umgebungsvariable aufgeführt. Schauen Sie in der Datei settings.xml unter:
MAVEN_HOME\conf\settings.xml
Le site localRepository
ist der Ort des Maven-Repositorys, das der Hudson-Build verwendet.