7

Ich habe ein Play-Projekt, das eine Bibliothek verwendet, die kürzlich nach Scala 2.11.1 portiert wurde.Wie kann ich in SBT widersprüchliche Cross-Versionssuffixe lösen?

Ich habe auch das Spiel zu Scala 2.11.1 aktualisiert.

Wenn ich versuche, das Projekt auszuführen, erhalte ich:

[error] Modules were resolved with conflicting cross-version suffixes in {file:/...}: 
[error] org.scalaz:scalaz-core _2.11, _2.10 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) Conflicting cross-version suffixes in: org.scalaz:scalaz-core 

ich zu erkennen versucht, welche die Bibliothek, die scalaz-Core-2.10 mit sbt-Abhängigkeitsgraph Plugin verwendet. Doch in dem Abhängigkeitsgraphen Baum, ist es nur eine Erscheinung von scalaz-Kern:

info] | +-org.scalaz:scalaz-core_2.11:7.0.6 

So bin ich nicht sicher, welche die Bibliothek, das scalaz-core_2.10 verwendet ... Wie kann ich es erkennen?

Ich habe here gesehen, sobald ich es entdeckt habe, konnte ich es ausschließen, aber mein Problem ist, wie man erkennt, welche Abhängigkeit ich ausschließen muss.

+0

Ich hatte kürzlich das gleiche Problem mit Akka, es stellte sich heraus, dass ich% anstelle von %% in die Spray-Abhängigkeit gesetzt hatte. Behebung, dass das Problem behoben wurde. Ich würde meine build.sbt überprüfen und überprüfen, dass alle Scala-Bibliotheken %% –

+0

haben '' last *: update'' etwas Sinnvolles sagen? Vielleicht können Sie einen Bibliotheksnamen teilen, es sei denn, es handelt sich um Ihre private Bibliothek. – lpiepiora

Antwort

3

Unter target/resolution-cache/reports/ sind Ivys Resolution Report für jede Konfiguration. Suchen Sie nach *-compile.xml und *-test.xml und sehen, ob Sie

<module organisation="org.scalaz" name="scalaz-core_2.10"> 
    .... 
</module> 

haben Dieses sollten Sie des Moduls die caller erzählen.

Verwandte Themen