2016-06-01 10 views
0

Ich habe ein Projekt erstellt und installiert in der lokalen Maven-Repository ~/.m2 mit dem Namen com.example.project. Von Zeit zu Zeit, nicht immer, wenn ich ein anderes Projekt erstellen, das auf com.example.project abhängt, sagt Maven in Debug-Nachrichten:Warum schlägt maven repo.maven.apache.org für lokale Gläser?

Downloading: https://repo.maven.apache.org/maven2/com/example/project/maven-metadata.xml 

Warum abfragt Maven diese URL und warum dies gelegentlich geschieht? Erstens gibt es an dieser URL nichts, zweitens ist das Jar bereits im lokalen Repository vorhanden, drittens habe ich die Versionsnummer der lokalen jar-Abhängigkeit nicht geändert. Sagen wir also, ich habe 1000 lokale Projekte, wird URL1, URL2, ..., URL1000 abfragen. Wie lautet die Logik dieser Abfrage für eine nicht vorhandene URL?

+0

Sie würden nicht mit der 'passieren Maven starten -u' gibt rechts wechseln? – Tunaki

+0

Siehe auch [Wie funktioniert die updatePolicy in maven wirklich?] (Http://stackoverflow.com/questions/3805329/how-does-the-updatepolicy-in-maven-really-work). –

Antwort

1

Warum fragt Maven diese URL ab und warum passiert das gelegentlich?

gelegentlich: ist speziell daily, denn es ist die Standardeinstellung updatepolicy für die Maven eingebauten Central Repository.

Wenn Sie einen Blick auf die maven super POM nehmen, die alle pom-Dateien aus geerbt, werden Sie das Repository finden konfiguriert ist, als

<repositories> 
<repository> 
    <id>central</id> 
    <name>Central Repository</name> 
    <url>https://repo.maven.apache.org/maven2</url> 
    <layout>default</layout> 
    <snapshots> 
    <enabled>false</enabled> 
    </snapshots> 
</repository> 
</repositories> 

folgt <release> Element nicht hier erscheint, so dass das Repository bedeutet nehmen die Standardwerte dafür.

aktiviert (Standard ist true)

updatePolicy (Standard ist daily) -> mögliche Werte: "immer", "täglich" (Standard), "Intervall: XXX" (in Minuten) oder "nie" (nur wenn es lokal nicht existiert).

hoffe, das hilft

+0

Dies beantwortet Ihre Frage "warum Maven ein Remote-Repository abfragt". In einem anderen Wort ist Maven vorkonfiguriert, um Ihre Gläser täglich aus dem zentralen Repository zu aktualisieren. –

Verwandte Themen