2017-03-26 1 views
0

Mein Projekt verwendet Cats 0.7.8 und Scala 2.11.8. Wenn ich von build.sbt Datei aktualisieren und meine Katzen Abhängigkeit vonCat kann nicht von 0.7.8 auf 0.9.0 aktualisiert werden

"org.typelevel" % "cats-core_2.11" % "0.7.8" 

zu

"org.typelevel" % "cats-core_2.11" % "0.9.0" 

und versuchen Sie dann ändern, um eine sbt clean compile ich einen Fehler

[error] bad symbolic reference to cats.data.Xor encountered in class file 'Parser.class'. 
[error] Cannot access type Xor in package cats.data. The current classpath may be 
[error] missing a definition for cats.data.Xor, or Parser.class may have been compiled against a version that's 
[error] incompatible with the one found on the current classpath. 
[error] one error found 
[error] (compile:compile) Compilation failed 

Das Problem erhalten zu tun ist, Ich weiß nicht, über welche Parser-Klasse der Compiler spricht. Ich bin ziemlich sicher, dass unsere eigene Quellcode-Basis keine Parser.class hat. Unser Code verwendet nicht die alte Xor-Klasse von Cats. (obwohl wir könnten, weil wir noch nicht auf Scala 2.12 sind).

Antwort

1

Möglicherweise eine andere Bibliothek, die Sie verwenden, verlässt sich auch auf Katzen. Da Sie die Cats-Version durch Hinzufügen Ihrer eigenen Version gelöscht haben, versucht diese Bibliothek, eine Verbindung mit der alten Version herzustellen, während Sie den Compiler dazu verwenden, eine neuere Version zu verwenden.

Sie können versuchen, SBT-Plugin wie https://github.com/jrudolph/sbt-dependency-graph für das Drucken ganze Beziehung Graphen und dann zu überprüfen, welche Bibliotheken auf Katzen basiert auch. Wahrscheinlich neben einem von ihnen gibt es das Wort evicted, was bedeutet, dass es gegen andere Version von Cats als eine von Ihnen zur Verfügung gestellt hat.

Sobald Sie diese Bibliothek (Ori-Bibliotheken) finden, versuchen Sie, sie auf neuere Versionen zu aktualisieren, die mit neueren Katzen verknüpfen. Das ist alles, was ich Ihnen sagen kann, ohne selbst andere Abhängigkeiten zu sehen.

+0

ja. Die dependencyTree zeigte die Bibliotheken, die geräumt wurden. Ich war in der Lage, ihre Version zu aktualisieren und das Upgrade war erfolgreich. –

Verwandte Themen