如何在Scala 3中使用akka?

Ji *_*uai 9 scala akka akka-actor scala-3

如何在 Scala 3 中使用 akka ?使用 scala 3 时找不到 akka 依赖项

sbt 错误:

[error]   not found: /Users/admin/.ivy2/localcom.typesafe.akka/akka-actor-typed_3/2.6.15/ivys/ivy.xml
[error]   not found: https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_3/2.6.15/akka-actor-typed_3-2.6.15.pom
[error] (ssExtractDependencies) sbt.librarymanagement.ResolveException: Error downloading com.typesafe.akka:akka-actor-typed_3:2.6.15
[error]   Not found
[error]   Not found
[error]   not found: /Users/admin/.ivy2/localcom.typesafe.akka/akka-actor-typed_3/2.6.15/ivys/ivy.xml
[error]   not found: https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor-typed_3/2.6.15/akka-actor-typed_3-2.6.15.pom
Run Code Online (Sandbox Code Playgroud)

Dmy*_*tin 11

akka-actor-typed是针对 Scala 2.12、2.13 发布的,不适用于 Scala 3

https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor-typed

尝试兼容模式

lazy val foo = project.in(file("foo"))
  .settings(
    scalaVersion := "3.0.0",
    libraryDependencies += 
      ("com.typesafe.akka" %% "akka-actor-typed" % "2.6.15")
        .cross(CrossVersion.for3Use2_13)
  )
Run Code Online (Sandbox Code Playgroud)

https://docs.scala-lang.org/scala3/guides/migration/compatibility-classpath.html


更新。 akka-actor-typed自 2.6.17 版本起针对 Scala 3 发布

libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.6.17"
Run Code Online (Sandbox Code Playgroud)

  • 适用于 akka-actor-typed 的 Scala 3 自 2021 年 10 月起可用 (3认同)
  • @GaëlJ 链接中的引用:“Scala 3 编译器能够读取 Scala 2.13 Pickle 格式,因此它可以键入依赖于使用 Scala 2.13 编译的模块或库的代码。Scala 3 unpickler 已在社区中进行了广泛的测试已经建了很多年了,使用安全。” (2认同)
  • 当然,我的意思是如果它能编译的话可能就没问题。我担心宏的东西(也许 Akka 根本不使用,IDK) (2认同)