【问题标题】:Play 2.3.x libraryDependencies predefined Keys播放 2.3.x libraryDependencies 预定义的 Keys
【发布时间】:2014-10-07 16:12:52
【问题描述】:

我正在探索 Play 框架和 SBT,我注意到教程通常包含一组静态键,例如 libraryDependencies ++= Seq(javaJdbc, javaEbean, cache, javaWs)

我了解它们连接到 SBT 管理的依赖项,并且我了解如何通过为给定依赖项提供 maven/ivy 坐标来添加这样的依赖项,但这些是不同的。

我想了解更多关于它们的信息,我的猜测/理解是它们代表 Play 框架的模块,还指定了模块正确运行所需的传递依赖项。然而,尽管我试图找到这些模块的详尽列表以及它们包含的解释和依赖关系,但到目前为止,我在 Play/SBT 文档中都找不到任何结论性的内容。

有这样的清单吗? Play lingo 中如何引用这些静态键?这个概念在 SBT 中叫什么?

编辑:我发现它们对应于 com.typesafe.play 中的模块,但是我无法找到上面定义的 libraryDependencies 文字列表在哪里。

【问题讨论】:

  • 可能,但我相信答案中的 cmets 很有价值,它们准确地表明了整个事情是如何工作的,而且它指出了包含这些值的确切源类。如果我们能以某种方式聚合这两个问题/答案?
  • 查看stackoverflow.com/a/25063872/1305344,其中显示了确切的源类。这在另一个答案(实际上是我的)中还缺少什么?我看不到额外的价值。
  • 很公平 - 我指的是Dependencies.scala。此外,我发现我的评论提供了一个简短的概述整个事情是如何工作的,没有深入研究太多细节。不过,这是我个人的看法。

标签: playframework-2.0 sbt dependency-management


【解决方案1】:

Play 实际上是一个 sbt 自动插件。自动插件允许您定义自动导入,它又是一个对象,其内容会自动放入(您的build.sbt)范围内。 Play 会自动导入其子模块和其他一些有用的东西。

您可以在sbt-plugin/src/main/scala/PlayImport.scala 中找到完整列表。

【讨论】:

  • 谢谢您,先生,再次为您提供简单的点,但对我来说非常有价值的信息:) 如果我错了,请纠正我(对 Scala 来说相对较新),所以我们将暴露的 vals 引用为libraryDependencies 这只是我们自己定义播放模块依赖项的简写(通过精确的 maven 坐标)。我在项目的类路径中看到的依赖项(例如 Spring 框架 bean)仅仅是添加到 libraryDependencies 序列中的特定 Play 模块的传递依赖项?
  • 是的,完全正确。您可以查看文件Dependencies.scala 以查看每个 Play 模块有哪些依赖项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多