scala - 为什么 scala 找不到 sbt 能找到的东西?

标签 scala playframework sbt

使用 sbt 一切都很好:

» sbt console
[info] Loading project definition from /repos/myrepo/project
[info] Set current project to bpavscan (in build file:/repos/myrepo/)
[info] Starting scala interpreter...
[info] 
Welcome to Scala 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.8.0_131).
Type in expressions for evaluation. Or try :help.

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

scala> 

但是如果我用 scala 工具来做:

» scala
Welcome to Scala version 2.11.6 (OpenJDK 64-Bit Server VM, Java 1.8.0_131).
Type in expressions to have them evaluated.
Type :help for more information.

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

scala>

我需要运行一个简单的脚本,我通常这样做:

scala myscript.scala

但由于现在我的脚本具有 play 依赖项,我无法再使用 scala 运行它,因为 scala 找不到 play。

我需要:

  1. 能够使用简单的 scala 工具加载 play 框架
  2. 能够使用 sbt 运行简单的脚本:sbt run 运行我的项目,但我不希望这样。我想运行一个简单的脚本(尝试一些简单的事情)

最佳答案

sbt console 加载与 scala 相同的 console/REPL,但在 build.sbt< 中定义了额外的加载依赖项。所以在加载控制台之前,所有的依赖库都被添加了。这就是您可以在使用 sbt console导入 play 库的原因。

另一方面,scala 使用系统scala-package 内的库启动控制台。因此,需要在包中包含额外的 jar 以便导入。对于上述情况,如果 play 库 jar 包含在 scala 目录中,则 import play.api.libs.json._ 应该适用于 scala 控制台> 也是。

关于scala - 为什么 scala 找不到 sbt 能找到的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44542579/

相关文章:

javascript - 多级 HTML 表单

scala - 如何在 Scala 中使用来自 SBT(简单构建工具)的 JavaCV?

scala - 如何使用 Scala Play 框架更新嵌套的 json?

scala - 结构化流 - Foreach Sink

scala - 如何将构造函数变量(原文如此!)公开为只读?

java - 如何将列表呈现为模板?

用于 Play 的 Json "Validate"

java - 在新的 ubuntu 机器上安装 jdk/sbt

scala - 尝试将项目交叉编译到 Scala 2.11 失败,编译器镜像中出现 "error while loading Object, Missing dependency ' 对象 scala'”

Scala 中的字符串数组问题