如何在scala repl中导入播放

How to import play in scala repl

如何在 Scala repl 中导入播放?

scala> import play.api.libs.json._
<console>:11: error: not found: value play
       import play.api.libs.json._

找不到包,因为它不在 REPL 的 class 路径中。 如果您知道 Play Framework 的 JAR 在您计算机上的位置,您可以在启动 REPL 时将其添加到 class 路径:

> scala -cp path/to/play.jar

您也可以直接从 REPL 会话中添加:

:require play.jar

请注意,您仍然需要像以前一样导入 classes。

使用 Ammonite REPL 事情要简单得多:

load.ivy("com.typesafe.play" %% "play" % "2.5.12")
import whatever.you.need

1) 设置简单的构建工具 (sbt) {很简单 - 从这里下载 - http://www.scala-sbt.org/download.html and instructions here - http://www.scala-sbt.org/0.13/docs/Installing-sbt-on-Windows.html}

2) 创建一个空文件夹build.sbt,内容如下

//your-test-project/build.sbt

scalaVersion := "2.11.8"                                                                               

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

libraryDependencies += "com.typesafe.play" %% "play" % "2.5.12"

3) 然后只需在文件夹的根目录上执行 sbt console,这将下载游戏并供您的控制台使用。

$ ls -l ~/.ivy2/cache/com.typesafe.play/play_2.11/jars/
total 15392
-rw-r--r--  1 as18  185223974  4107407 Jan 22 15:59 play_2.11-2.5.12.jar

那你就可以开始了。

scala> import play.api.libs.json._
import play.api.libs.json._

scala> val json: JsValue = Json.parse("""{ "compiler" : "scala", "ratings" : 5 }""")
json: play.api.libs.json.JsValue = {"compiler":"scala","ratings":5}

scala> val compiler = ( json \ "compiler" )
compiler: play.api.libs.json.JsLookupResult = JsDefined("scala")

另外,如果你已经有jar可以直接提供如下

scala -cp ~/.ivy2/cache/com.typesafe.play/play_2.11/jars/play_2.11-2.5.12.jar

scala> import play.api.libs._
import play.api.libs._