Maven: updatePolicy-Konfiguration in der XML-Datei „Einstellungen“.

Eines der häufigsten Probleme bei der Arbeit mit dem Abhängigkeitsmanagement ist die Häufigkeit, mit der sich unser lokales Repository mit dem Remote-Repository synchronisieren muss. Maven hat updatePolicy Einstellungen zum Festlegen der Häufigkeit, mit der die Aktualisierungen im Repository überprüft werden sollen. Meistens bleibt dieser Wert in den Konfigurationsdateien leer, der Standardwert ist daily. In diesem Tutorial wird die Verwendung dieses Elements im erläutert settings.xml (globale Konfigurationsdatei, die für das Maven-Repository verwendet wird) Datei und welche möglichen Werte können für die Datei verwendet werden updatePolicy Element.

Maven updatePolicy-Einstellungen

Maven updatePolicy-Einstellungen

Hier ist das Beispielkonfigurations-Snippet zum Festlegen von updatePolicy Wert:

<pluginRepositories>
	<pluginRepository>
		<id>Releases</id>
		<url>http://<host>:<port>/nexus/content/repositories/releases/</url>
		<releases>
			<enabled>true</enabled>
			<updatePolicy>daily</updatePolicy>
		</releases>
		<snapshots>
			<enabled>false</enabled>
		</snapshots>
	</pluginRepository>				
</pluginRepositories>

Im obigen Beispielausschnitt teilen die Einstellungen dem Maven mit, dass das Releases-Repository (lokal konfiguriert) das Remote-Repository jeden Tag auf Artefakte überprüfen muss. Wenn Updates für die Artefakte gefunden werden, werden sie in das lokale Repository heruntergeladen. Die Zeitstempel werden mit den Zeitstempeln des lokalen POM (gespeichert in der Maven-Metadatendatei eines Repositorys) verglichen. Die möglichen Auswahlmöglichkeiten für updatePolicy Element sind:

  • stets
  • täglich (dies ist der Standardwert, wenn Sie keine Werte angeben
  • Intervall:X (wobei X eine ganze Zahl in Minuten ist)
  • niemals

Beachten Sie, dass updatePolicy Element selbst eine optionale Konfiguration. Wenn Sie nichts angeben, wird der Standardwert verwendet. Die Verwendung wird jedoch empfohlen always um die neuesten Updates herunterzuladen, die jemals in das Repository hochgeladen wurden. Sie sollten den Wert jedoch niemals verwenden never für die updatePolicy. Manchmal wird im Maven die folgende Fehlermeldung angezeigt pom.xml Datei.

  • Lesen Sie auch: So erstellen Sie ein einfaches Java-Projekt mit Maven

updatePolicy Gilt auch für Maven-Metadaten, z. B. welche Versionen verfügbar sind und welche die aktuellste ist. Wenn also bereits Artefaktversionen in Ihrem lokalen Maven-Repository vorhanden sind, lädt Maven niemals Versionen herunter, die noch nicht in Ihrem lokalen Repository vorhanden sind. Die neueren Versionen werden nicht vom Remote-Repository heruntergeladen.

Failure to find org.jfrog.maven.annomojo:maven-plugin-anno:jar:1.4.0 in http://myrepo:80/artifactory/repo was cached in the local repository, resolution will not be reattempted until the update interval of MyRepo has elapsed or updates are forced -> [Help 1]

Die Ursache für dieses Problem liegt darin, dass die Datei im lokalen Repository nicht verfügbar ist. Sie können dieses Problem lösen, indem Sie die Updates wie folgt erzwingen:

mvn clean install -U

Hier bedeutet -U Aktualisierungen erzwingen.

Lesen Sie auch: Erstellen Sie eine Webanwendung mit Maven

Ich hoffe, dieses Tutorial hat Ihnen geholfen, die Konzepte der Verwendung zu verstehen updatePolicy Element in der Einstellungsdatei des Maven. Wenn Sie Fragen haben, schreiben Sie diese bitte in den Kommentarbereich.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen