Акка 2.0.4 тянет в обоих скалах 2.9.1 и 2.9.2
Я использую onejar для создания приложения, которое использует scala 2.9.2 и akka 2.0.4. Когда onejar выполняет сборку моего приложения, он сообщает следующее:
[WARNING] Expected all dependencies to require Scala version: 2.9.2
[WARNING] org.broadinstitute.workflow:PEMstr:1.0 requires scala version: 2.9.2
[WARNING] org.broadinstitute.workflow:PEMstr:1.0 requires scala version: 2.9.2
[WARNING] org.scala-lang:scala-compiler:2.9.2 requires scala version: 2.9.2
[WARNING] com.typesafe.akka:akka-actor:2.0.4 requires scala version: 2.9.2
[WARNING] com.typesafe.akka:akka-kernel:2.0.4 requires scala version: 2.9.2
[WARNING] com.typesafe.akka:akka-remote:2.0.4 requires scala version: 2.9.2
[WARNING] net.databinder:dispatch-json_2.9.1:0.8.5 requires scala version: 2.9.1
[WARNING] Multiple versions of scala libraries detected!
PEMstr - это мое приложение, но помимо этого я включил только трио akka и компилятор scala в качестве зависимостей Maven. Похоже, что akka-remote загружает netty, который загружает dispatch-json, что приводит к различиям в версии scala. Можно ли это предотвратить? Вот несколько загрузок maven, о которых сообщалось во время сборки...
Downloading: http://scala-tools.org/repo-releases/com/typesafe/akka/akka-remote/2.0.4/akka-remote-2.0.4.jar
Downloading: http://scala-tools.org/repo-releases/io/netty/netty/3.5.4.Final/netty-3.5.4.Final.jar
Downloading: http://scala-tools.org/repo-releases/com/google/protobuf/protobuf-java/2.4.1/protobuf-java-2.4.1.jar
Downloading: http://scala-tools.org/repo-releases/net/debasishg/sjson_2.9.1/0.15/sjson_2.9.1-0.15.jar
Downloading: http://scala-tools.org/repo-releases/net/databinder/dispatch-json_2.9.1/0.8.5/dispatch-json_2.9.1-0.8.5.jar
Благодарю.
1 ответ
Нет, нетти не имеет никакой зависимости. akka-remote - это тот, у кого есть зависимость от sjson.
Единственная общедоступная версия sjson, созданная для версии 2.9.2, - 0.18, в то время как akka remote использует 0.15: http://search.maven.org/#artifactdetails%7Cnet.debasishg%7Csjson_2.9.2%7C0.18%7Cjar.
В зависимости от вашей системы сборки вы можете заставить ее использовать 2.9.2/0.18. Для maven (как вы говорите о зависимостях maven) вам придется исключить net.debasishg/sjson_2.9.1 из akka-remote и явно импортировать net.debasishg/sjson_2.9.2.