Warum lädt Maven die Datei maven-metadata.xml jedes Mal herunter?

Unten ist der Fehler, den ich normalerweise erhalte, wenn meine Internetverbindung flankiert ist, wenn ich versuche, eine Webanwendung mit Maven zu erstellen.

Meine Frage ist, warum muss Maven immer jedes Mal heruntergeladen werden, wenn die gleiche App früher erstellt wurde.

Was könnte in meiner Konfiguration falsch sein, die Maven jedes Mal zum Herunterladen macht?

Unten ist ein Fehler, den ich erhalte, wenn ich versuche, offline zu bauen:

[INFO] ------------------------------------------------------------------------ [INFO] Building mywebapp 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading: https://raw.github.com/pagecrumb/mungo/mvn-repo/com/pagecrumb/mungo/0.0.1-SNAPSHOT/maven-metadata.xml [WARNING] Could not transfer metadata com.mywebapp:mungo:0.0.1-SNAPSHOT/maven-metadata.xml from/to mungo-mvn-repo (https://raw.github.com/pagecrumb/mungo/mvn-repo/): raw.github.com [INFO] [INFO] --- maven-war-plugin:2.1.1:war (default-cli) @ mywebapp --- [INFO] Packaging webapp [INFO] Assembling webapp [mywebapp] in [D:\workspace\web\target\mywebapp-1.0-SNAPSHOT] [INFO] Processing war project [INFO] Copying webapp resources [D:\workspace\web\src\main\webapp] [INFO] Webapp assembled in [1237 msecs] [INFO] Building war: D:\workspace\web\target\mywebapp-1.0-SNAPSHOT.war [WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building com.mywebapp [com.mywebapp] 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.1/maven-release-plugin-2.1.pom [WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-release-plugin:2.1: Plugin org.apache.maven.plugins:maven-release-plugin:2.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-release-plugin:jar:2.1 Downloading: http://download.java.net/maven/2/org/apache/maven/plugins/maven-metadata.xml Downloading: http://download.java.net/maven/2/org/codehaus/mojo/maven-metadata.xml 397/397 B Downloaded: http://download.java.net/maven/2/org/codehaus/mojo/maven-metadata.xml (397 B at 0.0 KB/sec) [WARNING] Failure to transfer org.apache.maven.plugins:maven-war-plugin/maven-metadata.xml from http://download.java.net/maven/2 was cached in the local repository, resolution will not be reattempted until the update interval of maven2-repository.dev.java.net has elapsed or updates are forced. Original error: Could not transfer metadata org.apache.maven.plugins:maven-war-plugin/maven-metadata.xml from/to maven2-repository.dev.java.net (http://download.java.net/maven/2): download.java.net [INFO] [INFO] --- maven-war-plugin:2.3:war (default-cli) @ mywebapp-build --- [INFO] Packaging webapp [INFO] Assembling webapp [mywebapp-build] in [D:\workspace\target\mywebapp-build-0.0.1-SNAPSHOT] [INFO] Processing war project [INFO] Webapp assembled in [15 msecs] [INFO] Building war: D:\workspace\target\mywebapp-build-0.0.1-SNAPSHOT.war [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] mywebapp ..................................... SUCCESS [27.999s] [INFO] com.mywebapp [com.mywebapp] ..................... FAILURE [1:00.406s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:41.409s [INFO] Finished at: Tue May 07 22:13:38 SGT 2013 [INFO] Final Memory: 11M/28M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.3:war (default-cli) on project mywebapp-build: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) 

    Suchen Sie in Ihrer settings.xml (oder möglicherweise in Ihrem Eltern- oder Unternehmenselternteil Ihres Projekts) nach dem -Element. Es sieht ungefähr so ​​aus wie unten.

       central http://gotoNexus  true always   true daily    

    Beachten Sie das Element . Das Beispiel sagt Maven, dass er das Remote-Repo kontaktieren soll (Nexus in meinem Fall, Maven Central, wenn du kein eigenes Remote-Repo verwendest), wenn Maven während eines Builds ein Snapshot-Artefakt abrufen muss, um zu sehen, ob es eine neuere Kopie gibt. Die Metadaten sind dafür erforderlich. Wenn es eine neuere Kopie gibt, lädt Maven sie in Ihr lokales Repo.

    Im Beispiel ist die Richtlinie für Releases daily so dass sie während des ersten Builds des Tages überprüft wird. never ist auch eine gültige Option, wie in den Maven Einstellungsdokumenten beschrieben .

    Plugins werden separat aufgetriggers. Möglicherweise verfügen Sie auch über Repositories mit unterschiedlichen Update-Richtlinien, falls gewünscht.

       central http://gotoNexus  true daily   true never    

    Jemand anderes erwähnte die Option -o . Wenn Sie das verwenden, läuft Maven im “Offline” -Modus. Es weiß, dass es nur über einen lokalen Repo verfügt und kontaktiert den Remote-Repo nicht, um die Artefakte zu aktualisieren, unabhängig davon, welche Update-Richtlinien Sie verwenden.

    Es ist möglich, das Flag -o,--offline "Work offline" zu verwenden, um dies zu verhindern.

    So was:

    maven compile -o

    Ich nehme an, weil Sie keine Plug-in-Version angegeben haben, so dass der Download der zugehörigen Metadaten ausgetriggers wird, um den letzten zu erhalten.

    Sonst haben Sie versucht, lokale Repo-Verwendung mit -o zu erzwingen?

    Ich habe noch nicht studiert, wenn Maven nachschlagen, aber um stabile und reproduzierbare Builds zu erhalten, empfehle ich dringend, nicht direkt auf Maven Repositories zuzugreifen, sondern einen Maven Repository Manager wie Nexus zu verwenden.

    Hier ist das Tutorial, wie Sie Ihre Einstellungsdatei einrichten:

    http://books.sonatype.com/nexus-book/reference/maven-sect-single-group.html

    http://maven.apache.org/repository-management.html