如何在Scala 3中使用Akka?

9
如何在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
2个回答

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)
  )

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


更新。自版本2.6.17起,akka-actor-typed已发布用于Scala 3。

libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.6.17"

1
请注意,我对在如此关键的依赖项上使用兼容模式并不完全有信心。但我可能过于悲观了 :) - Gaël J
2
@GaëlJ 这是链接中的一句话:“Scala 3编译器能够读取Scala 2.13 Pickle格式,因此它可以对依赖于使用Scala 2.13编译的模块或库的代码进行类型检查。Scala 3的反序列化程序已经在社区构建中进行了多年的广泛测试。使用它是安全的。” - Dmytro Mitin
2
当然,我的意思是如果它能编译通过,那么可能就没问题了。我担心的是宏相关的东西(也许Akka根本不使用,我不知道)。 - Gaël J
3
Scala 3对于akka-actor-typed的支持已于2021年10月推出。 - ielkhalloufi

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接