我目前正在使用sbt来构建和运行我的scala程序。我正在尝试使用sbt.Process来执行系统命令。我必须遗漏一些东西,因为当我尝试在src /我的一个文件中导入sbt.Process时,我得到了这个错误。
not found: value sbt
[error] import sbt.Process._
所以看起来我无法访问src / files中的sbt包。访问它需要做什么?谢谢。
答案 0 :(得分:2)
SBT的环境(v 0.7.x)仅适用于您的构建文件或插件。
使用sbt.Process库(直到0.9.x,将Process作为独立库)的最简单方法是将(BSD License)Process.scala和ProcessImpl.scala复制到项目中
答案 1 :(得分:1)
运行sbt和编译源文件有不同的类路径。 一个类路径用于编译目录project / build中的文件(一个包含sbt jars,通常包含scala库2.7.7),另一个用于构建项目的源文件(一个包含来自lib和lib_managed的依赖项,通常是scala library 2.8。*)。如果您想在源文件中使用sbt.Process,您可以做两件事:
答案 2 :(得分:1)
等待Scala 2.9,然后只使用scala.sys.process
。
答案 3 :(得分:0)
...此API已包含在版本2.9的Scala标准库中。
引自sbt wiki
这是the link(向下滚动)
好吧,为了使用它,您只需要在build.sbt
文件中添加以下代码行:sbtPlugin := true
它将添加所需的项目依赖项。
当然,此解决方案仅用于使用sbt
包进行导入。您应该重构您的代码以使用像Daniel C. Sobral所建议的新包scala.sys.process
。