2017-06-14 34 views
1

随着SBT一切都很好:为什么不能scala找到什么可以?

» 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. 能够用简单的斯卡拉工具加载游戏框架
  2. 能够与sbt运行一个简单的脚本:sbt run运行我的项目,我不希望。我想运行一个简单的脚本(尝试一些简单的事情)
+1

由于Scala REPL不知道您的依赖关系,SBT实际上负责管理您的所有项目依赖关系。 –

+0

@YuvalItzchakov我如何运行一个简单的脚本利用已安装的依赖关系?有没有'sbt runscript '? – dangonfast

+1

https://stackoverflow.com/questions/18812399/how-to-use-third-party-libraries-with-scala-repl –

回答

0

sbt console与负载相同console/REPL作为scala但在built.sbt定义额外加载的依赖。所以在加载控制台之前,所有依赖的库都会被添加。这就是您在使用sbt console时可以使用import play库的原因。

另一方面scala开始consolescala-package系统内的库。因此需要额外的jars包含在importing的包内。对于上述情况,如果播放库jar包含在scala目录中,那么import play.api.libs.json._也应该为scala console工作。

相关问题