2.10中Akka和scala.actors之间的关系

时间:2013-02-12 14:26:38

标签: scala akka actor scala-2.10

  • Scala 2.10发行说明中说:“ Akka Actors现在是发行版的一部分。原来的Scala演员现已弃用。
  • 最新的Akka库(“Akala 2.1.0 for Scala 2.10”)提到了以下依赖: com.typesafe.akka: akka-actor_2.10 :2.1.0
    以及以下例子:
    import akka.actor.Actor
    class MyActor extends Actor {..}
    val system = ActorSystem("MySystem")

  • 我的项目包括这些库:
    org.scala-lang: scala-library :2.10.0
    org.scala琅:的阶-演员:2.10.0
  • 在我的classpath中,我没有名为“akka”的包。我确实看到了scala.actors,但它似乎没有被弃用。

    那么,Akka Actors以哪种方式“分发”的一部分? 如果确实如此,那么我仍然应该将“akka-actor_2.10”库添加为依赖项吗?
    如果是,我是否使用akka.Actor或未弃用的scala.actors.Actor

    1 个答案:

    答案 0 :(得分:14)

    在scala 2.9.2中,scala actors是scala-library.jar的一部分。

    如果您下载scala-2.10.0发行版,则scala-library中没有actor,并且提供了akka-actors.jar和scala-actors.jar。

    后者是为了向后兼容而存在,将在未来的主要版本中删除。

    akka-actors是替代品,你应该用于任何新的开发(并且尽可能使用scala-actors移动任何东西)。

    如果您的项目中没有使用actor的当前代码,您应该重新配置项目的依赖项以删除org.scala-lang:scala-actors:2.10.0而是依赖于com.typesafe.akka:akka-actors_2。 10:2.1.0如果你想使用演员。

    我不确定为什么2.10.0中的scala-actors中的类没有弃用注释,但我相信它会在2.10.1中添加。

    您可以在migration guide上找到更多信息。