Ist es möglich, Maven zu sagen, dass es nie etwas für die Module herunterladen soll, für die es den Quellcode hat?
Nein. Maven 2 "sieht" nur das aktuelle Modul während des Builds. Positiv ist jedoch, dass Sie einen Teil des Baums erstellen können, indem Sie Maven in einem Modul ausführen.
Muss ich die Remote-Repositories deaktivieren?
Ja, verwenden Sie die Option "offline" -o
oder -offline
. Oder verwenden Sie die Datei settings.xml
mit einem Proxy, der keine Dateien hat. Das ist jedoch nicht das, was Sie wollen.
Muss Maven immer den aufwändigen Weg gehen, ein Modul in das lokale Repository zu installieren und es dann wieder für jeden seiner Abhängigen zu extrahieren?
Ja, aber das ist nicht aufwändig. Während des Builds wird die Datei kopiert (das war vor zehn Jahren aufwändig). Wenn eine Abhängigkeit verwendet wird, fügt Maven einfach den Pfad zur Datei dem Java-Prozess hinzu. Die Datei wird also nicht erneut kopiert oder geändert. Maven geht davon aus, dass sich Dateien im lokalen Repository nicht ändern (oder sich nur einmal ändern, wenn ein Download/Installationsvorgang stattfindet).
Kompiliert Maven automatisch zuerst Abhängigkeiten für ein Modul neu, wenn sich ihr lokaler Quellcode geändert hat?
Nein. Es gab Pläne für Maven 3, aber ich kann keine Option finden, um so etwas zu aktivieren.
Um Ihre Probleme zu lösen, sollten Sie einen lokalen Proxy installieren (wie Nexus).