当前位置: 首页 > 知识库问答 >
问题:

使用Akka/Akka Streams/Akka HTTP时的Akka版本冲突

金旺
2023-03-14
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)
[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 streams和akka HTTP?谢了!

共有1个答案

茅秦斩
2023-03-14

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

[warn]  * com.typesafe.akka:akka-actor_2.12:2.5.4 is selected over 2.4.19

sbt实际上选择了Akka-actor库的2.5.4版本,而不是2.4.19版本。

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

[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
 类似资料:
  • 它的版本问题是肯定的,因为我在另一个项目中以同样的方式使用它,但在play 2.6中(不确定是否与它有任何关系) 如果我降级elasticmq版本,我会得到以下错误: 异常或错误导致运行中止:java.lang.noClassDeffounderror:akka/http/scaladsl/settingsettingsettingsjava.lang.bootstrapmethoderror:j

  • 我们看到Akka被成功运用在众多行业的众多大企业,从投资业到商业银行、从零售业到社会媒体、仿真、游戏和博彩、汽车和交通系统、医疗保健、数据分析等等等等。对任何需要高吞吐率和低延迟的系统,Akka都是优秀的候选。 这里是一个由生产用户撰写的关于Akka的使用实例的非常好的讨论 以下是Akka被部署到生产环境中的领域 事务处理 (在线游戏,金融/银行业,贸易,统计,赌博,社会媒体,电信) 垂直扩展,水

  • Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下: 系统中的所有事物都可以扮演一个Actor Actor之间完全独立 在收到消息时Actor所采取的所有动作都是并行的,在一个方法中

  • 当我尝试sbt构建我的项目时,项目构建失败,出现“Extracting product structure failed”错误。我怀疑一些与我使用的Alpakka和Akka版本有关的东西。 下面是我的build.sbt文件: gael:下面是来自Intellij的错误消息的图像 运行时,我得到以下错误堆栈:

  • 阅读akka-stream的留档,我不太清楚消息的顺序以及是否可以强制执行。让我用我为聊天服务器编写的一小段代码来设置我的问题的上下文。 为了让事情变得简单,我使用了这个流的形状和一个非常简单的源和汇。像这样的-- 现在,我的担忧来了。终端中打印的事件顺序根本不正常。我不知道该怎么解决。这是我得到的结果-- 输出中缺少第一条消息。消息似乎是在打印之前发送的。 我尝试通过使用(我在上面的代码中对此进

  • Akka平台提供哪些有竞争力的特性? Akka提供可扩展的实时事务处理。 Akka为以下目标提供了一致的运行时与编程模型: 垂直扩展(并发) 水平扩展(远程调用) 高容错 这个模型是唯一需要学习和掌握的,它具有高内聚和高一致的语义。 Akka是一种高度可扩展的软件,这不仅仅表现在性能方面,也表现在它所适用的应用的大小。Akka的核心——akka-actor是非常小的,可以方便地加入你的应用中,提供