akka Scala-3.3.0:dotty.tools.FatalError:无法解析引用

4jb9z9bj  于 2023-10-18  发布在  Scala
关注(0)|答案(1)|浏览(144)

我在scala-3.3.0和akka(或pekko)中看到了这个错误:

dotty.tools.FatalError: cannot resolve reference to type akka.stream.scaladsl.type.Source
dotty.tools.FatalError: cannot resolve reference to type org.apache.pekko.stream.scaladsl.type.Source

在这两种情况下,我在任何源代码或依赖项中都没有看到这样的引用。
为了演示这个问题,我创建了一个小型的GitHub repo:https://github.com/abrighton/scala3-test
主分支使用pekko,“akka版本”分支使用akka。两者都使用java-17和scala-3.3.0。
我能找到的最接近的问题可能是:https://github.com/lampepfl/dotty/pull/16373
知道是什么引起的吗

ukxgm1gy

ukxgm1gy1#

您正在使用pekko-http作为依赖项
Pekko HTTP模块在pekko-actorpekko-stream之上实现了完整的服务器端和客户端HTTP堆栈。
这意味着您还需要在类路径中添加依赖项pekko-actorpekko-stream
只是增加

libraryDependencies += "org.apache.pekko" %% "pekko-stream" % PekkoVersion

应该能解决你的问题
旁注:
不知道是文档不完整还是pekko-http的hello world很难找到。检查Pekko Modulespekko-stream未列出。我找不到g8 template或类似的东西。
只是根据你分享的错误信息

dotty.tools.FatalError: cannot resolve reference to type akka.stream.scaladsl.type.Source
dotty.tools.FatalError: cannot resolve reference to type org.apache.pekko.stream.scaladsl.type.Source

知道Source来自stream模块,我大胆猜测并添加了pekko-stream依赖项,编译成功。
编辑:
找到一个pekko http quickstart模板

相关问题