Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在scala应用程序中找不到对象播放_Scala_Playframework - Fatal编程技术网

在scala应用程序中找不到对象播放

在scala应用程序中找不到对象播放,scala,playframework,Scala,Playframework,我正在使用Eclipse并创建一个新的Scala对象,希望使用play的json解析功能并导入这个包,但有一个错误,即找不到对象play。想知道如何在Scala对象中使用播放库吗 这就是我导入的方式 import play.api.libs.json._ 张贴我如何创建项目的图片 问候,, Lin要在普通Scala项目中使用Play的Scala Json库,而不是Play项目,您需要在build.sbt或project/build.Scala中导入库: libraryDependencie

我正在使用Eclipse并创建一个新的Scala对象,希望使用play的json解析功能并导入这个包,但有一个错误,即找不到对象play。想知道如何在Scala对象中使用播放库吗

这就是我导入的方式

import play.api.libs.json._
张贴我如何创建项目的图片

问候,,
Lin

要在普通Scala项目中使用Play的Scala Json库,而不是Play项目,您需要在
build.sbt
project/build.Scala
中导入库:

libraryDependencies += "com.typesafe.play" % "play-json_2.11" % "2.5.2"
package com.example

import play.api.libs.json._

object Hello {
  def main(args: Array[String]): Unit = {
    val json: JsValue = Json.parse("""
      {
        "name" : "Watership Down",
        "location" : {
          "lat" : 51.235685,
          "long" : -1.309197
        },
        "residents" : [ {
          "name" : "Fiver",
          "age" : 4,
          "role" : null
        }, {
          "name" : "Bigwig",
          "age" : 6,
          "role" : "Owsla"
        } ]
      }
    """)
    println(json)
  }
}

$ sbt update
这指示SBT从远程Maven存储库获取scala库
play json
。上面的行与存储库查看器页面的“SBT”选项卡上的行相同:

现在已经将库添加到项目中,您可以在代码中导入并使用它,例如
src/main/scala/com/example/Hello.scala

libraryDependencies += "com.typesafe.play" % "play-json_2.11" % "2.5.2"
package com.example

import play.api.libs.json._

object Hello {
  def main(args: Array[String]): Unit = {
    val json: JsValue = Json.parse("""
      {
        "name" : "Watership Down",
        "location" : {
          "lat" : 51.235685,
          "long" : -1.309197
        },
        "residents" : [ {
          "name" : "Fiver",
          "age" : 4,
          "role" : null
        }, {
          "name" : "Bigwig",
          "age" : 6,
          "role" : "Owsla"
        } ]
      }
    """)
    println(json)
  }
}

您最好在

学习有关SBT的基本知识。您是否添加了
json
依赖项?发布您的
build.SBT
文件。因此,您刚刚创建了一个scala项目,而不是Play项目。请参阅No(),但它必须是一个包含
build.sbt
文件或
project/build.scala
文件的文件。我非常确定play文档足够了,您在这里不需要我的帮助。;-)Play有一个
json
变量来声明依赖关系,因此您只需编写
libraryDependencies+=json
;-)感谢mmizutani提供的解决方案,投票支持,对于@marcospereira提到的构建本地播放项目的替代方案,有哪些优点和缺点?@Lin Ma最好将文件夹
activator-dist-1.3.9
~/Downloads
移动,这通常用于临时文件,到像
~/
~/bin
这样的目录。之后,要安装Lightbend Activator,需要将bin子文件夹
Activator-dist-1.3.9/bin
添加到路径,而不是解压缩文件夹
Activator-dist-1.3.9
的根目录
mv~/Downloads/activator-dist-1.3.9~/activator-dist-1.3.9
export PATH=~/activator-dist-1.3.9/bin:$PATH有些人通过自制/Linuxbrew安装activator-dist-1.3.9,因为安装和升级activator-1.3.9有点繁琐。@Lin Ma,是的,你下载和使用的是activator-dist-1.3.9。