2013-01-02 11 views
13

Il mio progetto dà il seguente avviso:Come posso risolvere meglio "versioni potenzialmente incompatibili di dipendenze" in SBT

[warn] Potentially incompatible versions of dependencies of {file:/some/path/}default-5bae4a: 
[warn] org.scala-lang: 2.9.2, 2.9.1 

Ho le seguenti dipendenze:

libraryDependencies ++= Seq(
    "io.spray"   % "spray-can"  % "1.0-M3", 
    "io.spray"   % "spray-routing" % "1.0-M3", 
    "io.spray"   % "spray-testkit" % "1.0-M3", 
    "io.spray"   %% "spray-json" % "1.2.3" cross CrossVersion.full, 
    "com.typesafe.akka" % "akka-actor" % "2.0.3", 
    "org.mongodb"   %% "casbah"   % "2.4.1", 
    "com.novus"   %% "salat"   % "1.9.1", 
    "org.specs2"   %% "specs2"  % "1.12.2" % "test", 
    "org.mockito"   % "mockito-all"  % "1.9.0" % "test" 
) 

sto cercando per capire come e per sbarazzarsi della dipendenza org.scala-lang 2.9.1, ma non è così facile come pensavo dovrebbe essere. Che trucco mi sto perdendo?

+0

Perché non basta disabilitare le dipendenze una per una per vedere quale causa il problema? –

+0

E se so qual è? come escludo una particolare versione di scala-lang? – iwein

risposta

9

Per prima cosa è necessario scoprire quale dipendenza causa questo problema disabilitandoli uno per uno. Quindi è possibile utilizzare una versione di tale libreria compilata su 2.9.2 o se non esiste una tale versione è possibile escludere la dipendenza.

Un ottimo strumento per determinare quale dipendenza causa il problema è sbt-dependency-graph.

Per escludere una dipendenza transitiva, è possibile utilizzare il metodo di esclusione:

libraryDependencies += 
    "com.novus" %% "salat" % "1.9.1" exclude("org.scala-lang", "scalap"), 

Vedi here sotto "Escludi dipendenze transitive".

+0

dependeny-graph mi ha detto 'org.scala-lang: scalap: 2.9.1 (sfrattato da: 2.9.2)' potrebbe essere il colpevole? – iwein

+0

la cosa divertente è che ho provato questa esclusione contro tutti i miei deps e non funziona ... non posso escludere globalmente tutti gli artefatti sotto org.scala-lang con la versione 2.9.1? – iwein

+0

Capito. Finalmente. Aggiornato la risposta per riflettere la correzione per il contesto. – iwein

Problemi correlati