将 Play JSON 库添加到 sbt

Posted

技术标签:

【中文标题】将 Play JSON 库添加到 sbt【英文标题】:Adding Play JSON Library to sbt 【发布时间】:2013-10-26 11:52:40 【问题描述】:

如何将 Play JSON 库 (play.api.libs.json) 添加到我的 sbt 项目中?

当我将以下内容添加到我的 plugins.sbt 文件时:

addSbtPlugin("play" % "sbt-plugin" % "2.1.0")

我遇到了这个错误:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: play#sbt-plugin;2.1.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

我没有找到这个库的解析器,否则我会添加它并运行sbt update。请注意,我的resolvers 包括http://repo.typesafe.com/typesafe/releases/。

【问题讨论】:

Kevin,你现在可以在 play 2.2 中更改答案吗? 嗨布兰克曼。我认为下面的answer 处理play 2.2,不是吗? 我无法编辑和更改答案,它似乎被锁定了。 【参考方案1】:

Play 2.2 已发布,可以与 Play 框架的其余部分分开添加。在 build.sbt 中:

resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.2.1"

【讨论】:

正是我想要找到的——完美的答案! +1。用@Carolis 的答案更新您的build.sbt 后,记得重新加载sbt @JeroenKransen 我无法更改答案,它已被锁定。 优秀。但仅适用于 Scala 2.10(有关 2.11+ 兼容性,请参阅@Raul 的答案)。【参考方案2】:

使用 SBT >= 0.13.5 播放 2.3 JSON

放入 build.sbt:

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.3.4"

玩 2.1

build.sbt:

resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/"

scalaVersion := "2.10.2"

libraryDependencies += "play" % "play_2.10" % "2.1.0"

Play JSON 在 Play 2.1 中不是一个独立的工件。

【讨论】:

在撰写本文时这是真的,而不是一个独立的库。 对我不起作用。使用 sbt 13.11。它找不到 com.typesafe.play#play-json_2.10;2.3.4。可能是因为我的 scala 版本是 2.10.5。我必须添加类型安全的 repo 在 Maven Central 上是这个版本:search.maven.org/… 必须为 Play 2.3 和 SBT > 0.13.5 添加resolvers += ... 行,然后重新加载。然后工作。【参考方案3】:

这对我有用(scala 2.11)

resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.3.0"

【讨论】:

迄今为止唯一适用于 Scala 2.11 的答案。 我不需要添加解析器行。顺便说一句,当前版本是 2.5.4,而不是 2.3.0。【参考方案4】:

您可以使用以下方式获取 Play JSON 库:

addSbtPlugin("play" % "play-json" % "2.2-SNAPSHOT")

您可能还必须包含以下解析器:

"Mandubian repository snapshots" at "https://github.com/mandubian/mandubian-mvn/raw/master/snapshots/"

这是我最初获得信息的地方:http://mandubian.com/2013/02/21/play-json-stand-alone/

【讨论】:

嗯,我在添加 1 行时遇到了缺少依赖项错误。有什么办法可以避免 git 链接? 现在可作为“com.typesafe.play”%%“play-json”%“2.2.0”真正独立使用。请参阅 Mandubian 在该博客文章链接中的评论“从 play 2.2 开始,您不再需要我的 repo”【参考方案5】:

可以检查the Getting Started section of the GitHub repository 并将以下内容添加到build.sbt 文件中:

libraryDependencies += "com.typesafe.play" %% "play-json" % "2.6.0-M1"

【讨论】:

以上是关于将 Play JSON 库添加到 sbt的主要内容,如果未能解决你的问题,请参考以下文章

如何将 jdbc 依赖项添加到 Play 项目?

SBT 对非 SBT 库的依赖

在 Play JPA 项目中使用 sbt-native-packager 将自定义文件夹添加到 Docker

与证书相关的 SBT 项目编译错误

如何将AWS Java SDK添加到Scala / Play项目

如何将 sbteclipse 插件添加到 SBT 0.10.x