2017-06-30 1 views
2

Ich möchte Fettglas meines Projekts mit sbt Versammlung machen. Hier ist meine build.sbt:sbt assembly akka-stream_2.12: 2.4.19 und akka-actor_2.12: 2.4.19 werden vertrieben

name := "projName" 

version := "1.0" 

scalaVersion := "2.12.1" 


libraryDependencies ++= Seq(
    "com.typesafe.akka" %% "akka-stream" % "2.5.3", 
    "com.typesafe.akka" %% "akka-actor" % "2.5.3", 
    "com.typesafe.akka" %% "akka-http" % "10.0.8", 
    "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.8.6", 
    "com.typesafe" % "config" % "1.3.1", 
    "org.apache.kafka" % "kafka-clients" % "0.10.2.1", 
    "org.knowm.xchange" % "xchange-core" % "4.2.0", 
    "org.knowm.xchange" % "xchange-btce" % "4.2.0" 
) 

assemblyMergeStrategy in assembly := { 
    case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
    case x => MergeStrategy.first 
} 

Nach dem Ausführen

sbt assembly 

i solche Warnung bekam:

[warn] There may be incompatibilities among your library dependencies. 
[warn] Here are some of the libraries that were evicted: 
[warn] * com.typesafe.akka:akka-stream_2.12:2.4.19 -> 2.5.3 
[warn] * com.typesafe.akka:akka-actor_2.12:2.4.19 -> 2.5.3 
[warn] Run 'evicted' to see detailed eviction warnings 

Dann laufen i sbt evicted für weitere Einzelheiten und hier, was ich habe:

[warn] There may be incompatibilities among your library dependencies. 
[warn] Here are some of the libraries that were evicted: 
[warn] * com.typesafe.akka:akka-stream_2.12:2.4.19 -> 2.5.3 (caller: com.typesafe.akka:akka-http-core_2.12:10.0.8, default:btceclient_2.12:1.0) 
[warn] * com.typesafe.akka:akka-actor_2.12:2.4.19 -> 2.5.3 (caller: com.typesafe.akka:akka-stream_2.12:2.5.3, com.typesafe.akka:akka-parsing_2.12:10.0.8, default:btceclient_2.12:1.0) 
[info] Here are other libraries that were evicted: 
[info] * com.fasterxml.jackson.core:jackson-databind:2.8.2 -> 2.8.6 (caller: com.fasterxml.jackson.module:jackson-module-paranamer:2.8.6, com.github.mmazi:rescu:1.9.0, com.fasterxml.jackson.module:jackson-module-scala_2.12:2.8.6) 
[info] * com.fasterxml.jackson.core:jackson-annotations:2.8.0 -> 2.8.6 (caller: com.fasterxml.jackson.core:jackson-databind:2.8.6, com.fasterxml.jackson.module:jackson-module-scala_2.12:2.8.6) 
[info] * com.typesafe:config:1.2.0 -> 1.3.1 (caller: com.typesafe:ssl-config-core_2.12:0.2.1, default:btceclient_2.12:1.0, com.typesafe.akka:akka-actor_2.12:2.5.3) 

Ich weiß wh Es gibt Räumungswarnungen, aber ich weiß nicht, wie ich das in der gegenwärtigen Situation lösen kann. Irgendwelche Ideen?

Antwort

0

Sie können diese Nachricht ignorieren, weil 2.4 und 2.5 Versionen are binary compatible, so dass es in Ordnung ist, von 2,4 auf 2,5 zu aktualisieren.

+0

, wenn ich fettes Glas laufen lasse, bekam ich Ausnahme über fehlenden akka.version Parameter. –

0

Die Räumungsnachricht ist klar. Eine schnelle search in Maven für akka-http_2.12 : 10.0.8 wird Ihnen zeigen, dass dieses Artefakt von akka-stream_2.12:2.4.19 abhängt. Eine Lösung, Sie könnten akka-actor und akka-stream auf 2.4.19 in den Abhängigkeiten herabstufen.

+0

versuchte dies zuvor. Nichts half –

1

Modified Merge-Strategie:

assemblyMergeStrategy in assembly := { 
     case PathList("META-INF", xs @ _*) => MergeStrategy.discard 
     case PathList("reference.conf") => MergeStrategy.concat 
     case x => MergeStrategy.first 
    } 

Hier können Sie neue Zeile sehen: case PathList("reference.conf") => MergeStrategy.concat.
Ich denke es ist unnötig zu erklären, was hier passiert.

Verwandte Themen