使用 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。
我需要:
- 能够使用简单的 scala 工具加载 play 框架
- 能够使用
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/