webentwicklung-frage-antwort-db.com.de

wie man maven zwingt, lokales repo zu aktualisieren

Ich habe eine JAR-Datei in einem Projekt kompiliert, damit sie im zweiten verwendet werden kann. Ich kann die JAR-Datei im .m2-Ordner sehen. Aber im zweiten Projekt klagt es über nicht gefundenes Artefakt. Ich denke, ich muss Maven dazu zwingen, Indizes/Cache zu aktualisieren, weiß aber nicht was genau. Jeder Tipp, danke. 

Update: Danke für alle guten Vorschläge. Es stellt sich heraus, dass das Maven-Plugin (von IntelliJ) im zweiten Projekt seinen Index nicht aktualisiert. Ich benutze die Befehlszeile, die ich kompiliert habe. 

21

Wenn Sie in ein lokales Repository installieren, ist keine spezielle Index-/Cache-Aktualisierung erforderlich.

Stelle sicher das:

  1. Sie haben das erste Artefakt ordnungsgemäß in Ihrem lokalen Repository installiert. Das einfache Kopieren der Datei nach .m2 funktioniert möglicherweise nicht wie erwartet. Vergewissern Sie sich, dass Sie es mit mvn install installieren.

  2. Die Abhängigkeit im 2. Projekt ist korrekt eingerichtet. Prüfen Sie einen beliebigen Tippfehler in groupId/artifactId/version oder nicht übereinstimmendes Artefakt type/classifier.

8
Adrian Shum

versuchen Sie es mit -U ( aka --update-snapshots), wenn Sie maven ausführen

Stellen Sie sicher, dass die Abhängigkeitsdefinition korrekt ist

43
EdH

Mimo że jest to stare pytanie, natknąłem się na ten problem wiele razy i do tej pory nigdy nie odkryłem, jak to naprawić. aktualizacja indeksów maven um ukuty przez IntelliJ zu beenden.

NaciśnijCTRL+Shift+Aaby otworzyć menu Akcje. Wpisz Maven i przejdź do Maven-Einstellungen. Sprawdź katalog domowy, aby użyć tego samego mavena, którego używasz z linii poleceń

5
Yuri

Sie können diesen Befehl auch in der Befehlszeile verwenden:

mvn dependency:purge-local-repository clean install
4
eyupaksu

Klicken Sie auf "Einstellungen" und suchen Sie nach "Repositorys", wählen Sie das lokale Repo aus und klicken Sie auf "Aktualisieren". Das ist alles. Diese Aktion entspricht meinen Bedürfnissen.

2
LeoZhang

Wenn Sie mit der Authentifizierung bei einer Site zu kämpfen haben und Maven die Ergebnisse zwischenspeichert, müssen Sie einfach die Metadaten der Site aus dem Metadatenstash entfernen, damit Maven die Site erneut besucht.

gvim <local-git-repository>/commons-codec/resolver-status.properties
0
A. Rick