【问题标题】:Why are some things defined twice in Scala's libraries?为什么有些东西在 Scala 的库中定义了两次?
【发布时间】:2015-04-23 10:51:18
【问题描述】:

我发现一些用于 Scala 的库(包括它自己的库)以如此凌乱的方式组织起来,这真的让我很困扰,并且让事情变得难以记忆。我来自 .NET 背景,一切都很容易上手,而且没有“陷阱”。

我现在记得的一个例子是在导入 Play 的演员系统时,它被定义了两次:

  • play.libs.Akka
  • play.api.libs.concurrent.Akka

这是为什么呢?以及play.libs和play.api.libs这两个包有什么区别?

【问题讨论】:

    标签: scala playframework playframework-2.0 akka


    【解决方案1】:

    这是因为一些 Scala 库(包括 Play)既有 Java API,也有 Scala API。

    示例:
    * play.api.libs.concurrent.Akka
    * play.libs.Akka

    我同意 Play 的软件包名称可以更清楚。

    【讨论】:

    • 我为什么要在 Scala 中使用 Java 接口?
    • 因为您可能在 Scala 项目中编写 Java 代码,或者只是在纯 Java 项目中使用 lib(Play 也是一个 Java 框架)。
    猜你喜欢
    • 2021-06-11
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    相关资源
    最近更新 更多