Normalerweise verwendet Hudson das lokale Maven-Repository so wie es von Maven bestimmt wird — das exakte Verfahren dafür scheint undokumentiert, aber es ist typischerweise ~/.m2/repository und kann durch <localRepository> in ~/.m2/settings.xml überschrieben werden (mehr dazu in der Maven Dokumentation).

Dies bedeutet, dass sich alle Jobs, die auf dem gleichen Knoten ausgeführt werden, ein gemeinsames Maven-Repository teilen. Der Vorteil dabei ist, dass dadurch Festplattenplatz gespart werden kann. Nachteilig ist hingegen, dass diese Jobs sich manchmal in die Quere kommen können. Beispielsweise können so Builds fälschlicherweise erfolgreich sein, weil zwar alle Abhängigkeiten im lokalen Repository vorhanden sind, aber keine davon in den Repositories des POMs existiert.

Es liegen außerdem Problemberichte über nebenläufige Maven-Prozesse vor, die versuchen, dasselbe lokale Repository zu verwenden.

Wenn diese Option angewählt ist, startet Hudson Maven mit $WORKSPACE/.repository als lokalem Maven-Repository. Dadurch verwendet jeder Job ein eigenes, isoliertes Maven-Repository. Dies löst die oben angesprochenen Probleme auf Kosten eines höheren Speicherplatzbedarfs auf der Festplatte.

Wenn Sie diese Option verwenden, ziehen Sie die Installation eines Maven-Artefakt-Managers in Betracht: Dadurch vermeiden Sie zu häufige Zugriffe auf entfernte Maven-Repositories.

Möchten Sie diese Option in allen Maven-Jobs aktivieren, die über Hudson ausgeführt werden, folgen Sie den Anweisungen hier.