Sie können in Ihrer Maven- Einstellungsdatei angeben, dass Sie im Offline-Modus ausgeführt werden möchten. Gibt es jedoch eine entsprechende Befehlszeilenoption?
Ich würde mir so etwas wie zB vorstellen
mvn install -Dmaven.offline.true
Sie können in Ihrer Maven- Einstellungsdatei angeben, dass Sie im Offline-Modus ausgeführt werden möchten. Gibt es jedoch eine entsprechende Befehlszeilenoption?
Ich würde mir so etwas wie zB vorstellen
mvn install -Dmaven.offline.true
Antworten:
Der Offline-Modus von Maven wird mit aufgerufen mvn -o
.
Dies allein reicht jedoch möglicherweise nicht aus, da das aktuelle Projekt manchmal auf Artefakte verweist, die noch nicht im lokalen Maven-Repository-Cache vorhanden sind ( ~/.m2/repository
). Der Versuch, dieses Projekt im Offline-Modus zu erstellen, schlägt fehl, da die erforderlichen Abhängigkeiten fehlen und nicht heruntergeladen werden können.
Es gibt also noch ein weiteres nützliches Ziel:
mvn dependency:go-offline
Dies ist ein großartiger Befehl, den Sie ausführen müssen, bevor Sie in ein Flugzeug steigen, um Ihre Chancen zu verbessern BUILD SUCCESS
. Weitere Informationen finden Sie in der Go-Offline-Dokumentation .
Nur ein einfaches:
mvn --offline
In Zukunft empfehle ich, sich darauf zu beziehen mvn --help
.
mvn -o
Funktioniert in den meisten Fällen, reicht jedoch in einigen Fällen nicht aus, da ab Maven 3 ein heruntergeladenes Artefakt aus einem Remote- / Zentral-Repository eine _remote.repositories
Datei in Ihrem lokalen Repository mit einem Verweis darauf erstellt, wo die Abhängigkeit heruntergeladen wurde.
Dies kann zu Problemen führen, wenn Sie später während Ihrer Builds keinen Zugriff auf dieses Remote-Repository haben.
Eine Problemumgehung, die möglicherweise funktioniert, ist die Verwendung mvn -o -llr yourGoal
.
Aus der Hilfedokumentation:
-llr, - Legacy-Local-Repository Verwenden Sie Maven 2 Legacy Local Repository-Verhalten, dh keine Verwendung von _remote.repositories. Kann auch sein aktiviert mit -Dmaven.legacyLocalRepo = true -o, - offline Offline arbeiten
Eine andere Möglichkeit, mvn offline auszuführen, besteht darin, diese _remote.repositories
Metadaten zu löschen, die im Verzeichnis der heruntergeladenen Abhängigkeiten gespeichert sind.
mvn -h
:)