首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Akka / Akka流/ Akka HTTP时的冲突Akka版本

使用Akka / Akka流/ Akka HTTP时的冲突Akka版本
EN

Stack Overflow用户
提问于 2017-08-29 13:27:38
回答 3查看 1.4K关注 0票数 4

我试图使用Scala2.12.3、SBT0.13.6和build.sbt文件中的以下库依赖项构建一个项目:

代码语言:javascript
复制
libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.5.4",
  "com.typesafe.akka" %% "akka-stream" % "2.5.4",
  "com.typesafe.akka" %% "akka-stream-testkit" % "2.5.4" % Test,
  "com.typesafe.akka" %% "akka-http" % "10.0.9",
  "com.typesafe.akka" %% "akka-http-core" % "10.0.9",
  "org.scalatest" %% "scalatest" % "3.0.1" % Test)

但是,我一直收到关于版本conflicts...It的以下警告:akka-http对Akka / Streams版本2.4.19具有传递依赖关系。我最近发现了一个类似的帖子,它建议显式地添加akka流作为依赖项,并确保它与akka演员的版本相同。以下是依赖关系警告:

代码语言:javascript
复制
[warn] Found version conflict(s) in library dependencies; some are 
suspected to be binary incompatible:
[warn] 
[warn]  * com.typesafe.akka:akka-stream_2.12:2.5.4 is selected over 
2.4.19
[warn]      +- com.typesafe.akka:akka-http-core_2.12:10.0.9       
(depends on 2.4.19)
[warn]      +- com.werner.opttech:dependency-test_2.12:0.0.0      
(depends on 2.4.19)
[warn] 
[warn]  * com.typesafe.akka:akka-actor_2.12:2.5.4 is selected over 
2.4.19
[warn]      +- com.werner.opttech:dependency-test_2.12:0.0.0      
(depends on 2.5.4)
[warn]      +- com.typesafe.akka:akka-stream_2.12:2.5.4           
(depends on 2.5.4)
[warn]      +- com.typesafe.akka:akka-parsing_2.12:10.0.9         
(depends on 2.4.19)

有关于如何解决此错误的建议,以便我可以使用akka、akka流和akka http的最新版本吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-30 06:34:24

chunjef的回答是correct.If --您想清除警告--实际上,请将以下代码添加到build.sbt中。

代码语言:javascript
复制
conflictManager := ConflictManager.strict

dependencyOverrides += "com.typesafe.akka" %% "akka-actor" % "2.5.4"

dependencyOverrides += "com.typesafe.akka" %% "akka-stream" % "2.5.4"

dependencyOverrides += "org.scala-lang" % "scala-library" % "2.12.3"
票数 1
EN

Stack Overflow用户

发布于 2017-08-30 00:53:30

您的配置是正确的,因为它遵循您提到的兼容性准则。我认为您将警告消息误解为错误;您正在使用这些库的2.5.4版本。仔细看一下这个片段:

代码语言:javascript
复制
[warn]  * com.typesafe.akka:akka-actor_2.12:2.5.4 is selected over 2.4.19

sbt确实选择了2.5.4版本的akka-actor库,而不是2.4.19版本。

此外,在sbt控制台中运行show update会输出以下内容:

代码语言:javascript
复制
[info]  com.typesafe.akka:akka-actor_2.12
[info]          - 2.5.4
[info]                  status: release
[info]                  publicationDate: Thu Aug 10 09:17:00 EDT 2017
....
[info]          - 2.4.19
[info]                  evicted: true
[info]                  evictedData: latest-revision

sbt将akka-actor的2.4.19版本驱逐为2.5.4版本。

这些警告消息实际上证实了您正在使用Akka工具的当前版本。

票数 2
EN

Stack Overflow用户

发布于 2018-01-15 22:40:45

相关类型: akka-http 10.1.0-RC1 移除瞬态依赖项。

我们将策略更改为不再显式依赖akka-stream,而是将其标记为构建中的provided依赖项。这意味着您必须始终向akka-stream添加手动依赖项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45940458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档