2016-05-14 10 views
42

Ich habe mein Artefakt zu oss Nexus Repo geschoben, fügte es als Abhängigkeit zu einem anderen Projekt hinzu. Idee hält mich warnen:Idee, sbt, nicht in der Lage zu warnen Warnung

[warn] Unable to reparse com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT from sonatype-snapshots, using Fri May 13 17:12:52 MSK 2016 [warn] Choosing sonatype-snapshots for com.github.kondaurovdev#jsonapi_2.11;0.1-SNAPSHOT 

Vielleicht schob ich Artefakt irgendwie in die falsche Richtung? Aber ich habe es früher gemacht, alles war in Ordnung. Wie kann man diese Warnungen loswerden? Oder ignorierst du sie einfach?

+2

finden habe ich eine grundlegende 3 line build.sbt dass das Problem reproduziert: Resolvern + = Resolver.sonatypeRepo ("Schnappschüsse") libraryDependencies + = "org.postgresql" % "postgresql" % "1209.09.04-snapshot" Dann führen Sie 'sbt update' – kshakir

+1

Ich habe das gleiche Problem. Diese Nachricht wird angezeigt und das SNAPSHOT-Artefakt aus dem Remote-Repo wird verwendet, wobei mein lokal veröffentlichtes Artefakt ignoriert wird. – giannoug

+2

FYI- Ich habe die build.sbt in 1.0.0-M4 mit dem gleichen Effekt ausgeführt. Ich kann nicht über [GitHub] (https://github.com/sbt/sbt/blame/v0.13.11/ivy/src/main/scala/sbt/ivyint/SbtChainResolver.scala#L225-L240) [Quelle ] (https://github.com/sbt/librarymanagement/blame/v0.1.0-M11/librarymanagement/src/main/scala/sbt/internal/librarymanagement/ivyint/SbtChainResolver.scala#L228-L243), wenn die Warnung lautet ein Fehler oder eine Funktion. (Randnotiz: Ich habe mehr als http://StackOverflow.com/q/37126026/3320205 mit 'addMavenResolverPlugin', aber rannte in einen" Fehler beim Lesen von Artefakt-Deskriptor ".) Vielleicht muss sbt-dev pinged werden? – kshakir

Antwort

16

Ich hatte das gleiche Problem.

Haben Sie Ihre SNAPSHOT-Version in Ihrem Artefakt veröffentlicht? Wenn ja, this könnte Ihr Problem sein.

Wie Sie wissen, wenn Sie lokal veröffentlichen, wird Ihre Snapshot-Version im Verzeichnis .ivy2/local gespeichert. Die Remote-Version wird im Verzeichnis .ivy2/cache gespeichert.

Wenn Sie in den Ordner .ivy2/cache/{Abhängigkeit} schauen, werden Sie sehen, dass er nur die XML- und Eigenschaftendatei heruntergeladen hat. Also nur die Metadaten und keine Gläser. Dies ist der eigentliche Grund, warum es nicht analysiert werden kann, da es nicht da ist.

Da der .ivy2/Cache Vorrang vor .ivy2/local hat, wird Ihre lokale veröffentlichte Version nicht angezeigt. Es gibt 2 Möglichkeiten, dies zu beheben.

  • Aktualisieren Sie Ihre Snapshot-Versionsnummer (empfohlen)
  • die SNAPSHOT aus Ihrem artifactory entfernen und die .ivy2/cache/{} Abhängigkeit Ordner auf jedem Client entfernen, die eine lokale Version hat.

Meiner Meinung nach ist die erste der Weg zu gehen.

+2

Ich hatte sogar ein zweites Problem, das auch den gleichen Fehler verursacht. Ich hatte die gleiche Bibliothek, aber eine ältere Version im UnmanagedBase-Verzeichnis. Löschen dieser alten Version aus dem Verzeichnis wäre die Lösung – Jork

+0

Vielen Dank für die Antwort, Was meinst du Update Ihrer Snapshot-Version? Lokal wieder zu veröffentlichen löst das nicht. – raam86

+0

@raam86 Ich meinte update die Versionsnummer.Also tatsächlich eine neue Version veröffentlichen – Jork

8

Ich hatte das gleiche Problem, und es geht weg, nachdem ich die folgen in meinem build.sbt hinzufügen:

updateOptions := updateOptions.value.withLatestSnapshots(false) 

können Sie mehr Details von https://github.com/sbt/sbt/issues/2650

+0

Wohin würde das in der Build-Datei gehen? Ich habe einen Fehler erhalten, wenn ich es am Ende der Build-Datei –

+0

platzieren ist dieser Schlüssel noch verfügbar in sbt 0.13.16? Ich kann es nicht finden – JayZee

Verwandte Themen